JavaScript访问对象的属性和方法
对象的属性和方法统称为对象的成员。
访问对象的属性
在JavaScript中,可以使用“ . ”和“ [ ] ”来访问对象的属性。
二者区别:“ . ”表示法一般作为静态对象使用时来存取属性。而“[ ]”表示法在动态存取属性时就非常有用。
var object = {name:'xiaoming',age:29};
var name1 = object.name;
var name2 = object['name'];
访问对象的方法
在JavaScript中,只能用“ . ”来访问对象的方法。
function Person(){
this.name = 'xiaoming';
this.age = 29;
this.say = function(){
alert('This is person');
}
}
var student = new Person();
alert(student.name);
alert(student['age']);
student.say(); //使用" . "访问对象方法
引申出的两个题目:
1.判断一个字符串中出现次数最多的字符,统计这个次数
var str = 'Thisthebesttimesewerty';
var obj = {};
for(var i=0; i<str.length;i++){
var char = str[i];
// var char = str.charAt(i); //charAt()可返回指定位置的字符,i为字符的下标,从0开始
if(obj[char]){
obj[char]++; //char是obj对象的一个属性,如果存在次数加1
}else{
obj[char] = 1; //如果不存在,保存在obj中并计数为1
}
} var max = 0;
var maxChar = null;
for(var key in obj){
if(max < obj[key]){
max = obj[key]; //出现最多次数max
maxChar = key; //出现次数最多的字符maxChar
}
}
2.编写arraysSimilar函数,实现判断传入的两个数组是否相似。
具体需求:
1. 数组中的成员类型相同,顺序可以不同。例如[1, true] 与 [false, 2]是相似的。
2. 数组的长度一致。
3. 类型的判断范围,需要区分:String, Boolean, Number, undefined, null, 函数,日期, window.
当以上全部满足,则返回"判定结果:通过",否则返回"判定结果:不通过"。
function arraysSimilar(arr1,arr2){
if(!(arr1 instanceof Array) || !(arr2 instanceof Array)){
return false;
}
if(arr1.length !== arr2.length){
return false;
}
var i=0, n=arr1.length, countMap1={}, countMap2 = {}, t1, t2,
TYPES = ['string','boolean','number','undefined','null','function','date','window'];
for(i; i<n; i++){
t1 = typeOf(arr1[i]);
t2 = typeOf(arr2[i]);
if(countMap1[t1]){
countMap1[t1]++;
} else{
countMap1[t1] = 1;
}
if(countMap2[t2]){
countMap2[t2]++;
} else{
countMap2[t2] = 1;
}
}
for(i=0; i<TYPES.length; i++){
if(countMap1[TYPES[i]] != countMap2[TYPES[i]]){
return false;
}
}
return true;
}
function typeOf(ele){
var r;
if(ele === null){
r = 'null';
}
else if(ele === 'window'){
r = 'window';
}
else if(ele instanceof Array){
r = 'array';
}
else if(ele instanceof Date){
r = 'date';
}
else{
r = typeof(ele);
}
return r;
}
JavaScript访问对象的属性和方法的更多相关文章
- Javascript常用对象的属性和方法
javascript为我们提供了一些非常有用的常用内部对象和方法.用户不需要用脚本来实现这些功能.这正是基于对象编程的真正目的. 在javascript提供了string(字符串).math(数值计算 ...
- javascript基本属性访问对象的属性和方法
var myName = "Shelley"; //字符串基本类型 alert(myName.length); //隐式创建String对象,数值与myName相同,并执行len ...
- javascript string对象的属性与方法
一 创建string对象 new string('string'); 更直接的定义方法是var str = 'string'; 二 string属性 1.constructor 2.lenght 字符 ...
- 浅析JavaScript访问对象属性和方法及区别
属性是一个变量,用来表示一个对象的特征,如颜色.大小.重量等:方法是一个函数,用来表示对象的操作,如奔跑.呼吸.跳跃等. 在JavaScript中通常使用”."运算符来存取对象的属性的值.或 ...
- JavaScript 访问对象属性和方法及区别
这篇文章主要介绍了浅析JavaScript访问对象属性和方法及区别的相关资料,仅供参考 属性是一个变量,用来表示一个对象的特征,如颜色.大小.重量等:方法是一个函数,用来表示对象的操作,如奔跑.呼吸. ...
- JS对象 JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。
什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方法: ...
- javascript面向对象(给对象添加属性和方法的方式)
1.在定义对象时,直接把属性和方法添加 <script type="text/JavaScript"> //给对象直接在定义时添加属性和方法 var g ...
- JavaScript -- 时光流逝(四):js中的 Math 对象的属性和方法
JavaScript -- 知识点回顾篇(四):js中的 Math 对象的属性和方法 1. Math 对象的属性 (1) E :返回算术常量 e,即自然对数的底数(约等于2.718). (2) LN2 ...
- JavaScript中的window对象的属性和方法;JavaScript中如何选取文档元素
一.window对象的属性和方法 ①setTimeout()方法用来实现一个函数在指定毫秒之后运行,该方法返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行. ②setIn ...
随机推荐
- Kafka入门学习--基础
Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就可 ...
- 寻找第K大的数(快速排序的应用)
有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数.给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在.测试样例:[1,3,5,2,2],5, ...
- 数据结构:广义表的实现(Java)
广义表的简单理解在这篇博文中:https://blog.csdn.net/lishanleilixin/article/details/87364496,在此不做赘述. Java实现广义表: pack ...
- XMPPManager 解析
一.用户登录流程 用户登录流程.png 注意:XMPP核心文件,基于TCP的XML流的传输,XMPPFrame框架是通过代理的方式实现消息传递的 实现用户登录的步骤如下: 1.实例化XMPPStrea ...
- 题目1002:Grading(简单判断)
问题来源 http://ac.jobdu.com/problem.php?pid=1002 问题描述 题目背景为高考试卷批改打分制度.对于每一道题,至少需要两位评审老师进行打分, 当两个老师的打分结果 ...
- C# 聊一聊屏保的设置
初步认识屏保 进入屏保设置 强行开头,大家都知道我们只需要在搜索框打入“屏保”,就能进入屏保的设置选项.然而箭头指向的位置到底是在Windows的哪个地方呢?这就是写这篇博客的原因. 进入一个屏幕保护 ...
- springcloud(十)-Zuul微服务网关
为什么要使用微服务网关 前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服 ...
- LINUX 查找替换命令 总结
find /var/ -name "*.php" > /home/tmp 在/var/目录下查找 所有以.php后缀结尾的文件 结果很多,就 > 输出结果到/home ...
- [问题解决]gradle编译失败系统找不到指定的文件
[问题解决]gradle编译失败系统找不到指定的文件 问题描述 Error:C:\Users\diql.gradle\caches\2.14.1\scripts-remapped\settings_9 ...
- unity 优化之overdraw查看
scene视图里面能直接看,打开左上角那个下拉选项,选择overdraw就行 转载篇在game视图下查看overdraw: https://blog.csdn.net/complicate ...