關於js對象屬性

由於之前編程遇到的問題,這裏記錄一下,免得忘記微笑其實這是個很簡單的問題,但是我一直在犯二。。。。。。

對於選取對象屬性,有2種方法 用.和用[]

var obj={

age:23;

name:"sss";

}

console.log(obj.age);

for(item in obj){

console.log(obj[item]);

}

以上程序是對的。

遇到的問題是這樣的。

var obj={

age:23;//'age':23;

name:"sss";//'name':"sss"

}

console.log(obj[age]);

這樣會報錯。改成

console.log(obj[‘age’]);纔可以。

所以說用.的時候,後面是一個指定的屬性名稱,而用[]的時候後面要麼是一個變量,要麼是一個屬性名稱的字符串表示。

一直腦子秀逗了,不能理解爲什麼直接age不行。。。微笑後來突然靈感一閃,是不是可以這樣理解,用,的時候調用的是這個屬性名稱(和是不是字符串沒有關係),而用[]的時候,調用的是這個屬性的字符串名稱或者說是變量,如果直接寫obj[age]的話,age並不是對象的屬性了,這裏表示想用的是age這個變量,加上引號的時候,才能表示調用的屬性名。

for(item in obj){

console.log(obj[item]);

}

之所以可以的話,應該是item是一個值爲obj裏面屬性名的一個變量。即item = ”age“。。。。

微笑大概就是這樣。。。。。。


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