var ni = {'hello': 23, 'he':'h', hao: 45};
for( var propertyName in ni) {
console.log(ni[propertyName]) //23,'h',45
console.log(ni.propertyName) // undefined 3 times?
}
ni.propertyName在这里工作的原因是什么?
答案 0 :(得分:2)
ni.propertyName
相当于ni["propertyName"]
:它获取一个名为"propertyName"
的属性的值。另一方面,ni[propertyName]
使用您的propertyName
变量进行查找。
答案 1 :(得分:2)
ni.propertyName
是静态代码,它引用propertyName
中不存在的名为 ni
的属性。请注意,这相当于ni["propertyName"]
。
ni[propertyName]
动态索引到ni
以查找以值propertyName
命名的属性。