var person = new Object();
person.name = "Nike";
var thisname = "name";
console.log(person.name); //打印Nike
console.log(person["name"]); //打印Nike
console.log(person[thisname]); //打印Nike
console.log(thisname); //打印name
第六行代码console.log(person[thisname])为什么打印出Nike?跟第三行var thisname = "name"有关吗?
如果有关的话,第三行的"name"是不是应该是属性?
那最后一行代码打印结果来看,第三行的"name"应该是字符串才对啊。。。
晕了已经,哪里出问题了?谢谢各位
对象的属性名称就是以字符串来保存的。
person.name = "Nike"
=> 为person
定义了一个名为name
的属性,name
本身是以字符串的形式保存的。用
Object.keys(person)
验证,结果是["name"]
,说明name
属性确实是以字符串来保存的。所以用person[thisname]
能够访问到