关于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“。。。。

微笑大概就是这样。。。。。。


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