【发布时间】:2015-02-21 09:39:01
【问题描述】:
我有一个看起来像这样的对象:
var obj = {
Laser: [0, 2],
Missile: [4, 4]
}
使用文字符号,我可以很好地访问属性:
for (prop in obj){
console.log(prop + " scored " + obj[prop][0] + " out of " + obj[prop][1] + " shots.");
为什么不能像这样使用点表示法来表达相同的意思?
for (prop in obj){
console.log(prop + " scored " + obj.prop[0] + " out of " + obj.prop[1] + " shots.");
-> error
提前致谢
【问题讨论】:
-
因为
obj没有名为prop的键,所以它的键是:Laser, Missile。在 JS 中,您可以这样做,obj.Laser或obj['Laser']或var keyname='Laser'; obj[keyname] -
JavaScript dot notation 的可能重复项
-
obj.prop等价于obj['prop']。
标签: javascript notation