对象的属性和方法统称为对象的成员。
访问对象的属性
在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
}
}
除了上边提到的遍历对象属性的方式,还可以使用Object.values(), Object.entries()方法遍历对象属性,不过相对于for ..in方式,这两种方式只是遍历对象自身的属性,而不包含prototype对应的对象的属性。具体参考如下转载文章。
https://www.cnblogs.com/baixiaoxiao/p/11307031.html
其中Object.values(), Object.entries()有一点java中Map集合的一些类似方法的意思。