【发布时间】:2018-05-29 18:48:16
【问题描述】:
我试图弄清楚为什么当我使用dot notation 时控制台打印undefined,而当我使用bracket notation 时它打印每个键的值。
我想要的是打印每个键的值,所以我使用括号表示法。我只想知道为什么点符号不起作用。
下面是例子。
const sunny = { mac: 'priest', dennis: 'calculating', charlie: 'birdlaw', dee: 'bird', frank: 'warthog' };
for(var key in sunny){
console.log(sunny.key)
}
for(var key in sunny){
console.log(sunny[key])
}
未定义
未定义
未定义
未定义
未定义
“牧师”
“计算”
“鸟法”
“鸟”
“疣猪”
【问题讨论】:
-
sunny.key正在寻找属性key本身,而不是它的值。 -
您可以使用developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/… 作为参考,特别是对象和属性部分
-
@AdamAzad 嗨亚当,我对 JavaScript 很陌生。你能解释一下为什么键是索引吗?我认为 for...in 语句迭代可枚举的 properties
-
它与for in循环无关,它与点符号的工作方式有关。
标签: javascript brackets notation