js對象的屬性訪問

對象的屬性和方法統稱爲對象的成員。

訪問對象的屬性

在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集合的一些類似方法的意思。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章