對象的屬性和方法統稱爲對象的成員。
訪問對象的屬性
在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集合的一些類似方法的意思。