一个similar question已询问,但不符合我所满足的条件。
我知道要访问属性,我可以使用点表示法或方括号表示法。安article at jibbering.com状态相同,也是这个 answer 。 Specifiacation说的一样。
我有这个例子( fiddle ),有一个区别:
var utils = {
myString: "boo",
myNumber: 99,
justNULL: null
};
for (var i in utils) {
document.write ( i + " = " + utils.i + "<br/>" ); //result - undefined
document.write ( i + " = " + utils[i] + "<br/>" );//result - the actual value
}
我在这里缺少什么?是关于 for..in 的使用还是对象的定义?
最佳答案
不,问题在于点符号的使用。
使用点表示法时,不能使用变量作为属性名称。表达式 utils.i
将访问对象中的属性 i
,它不会使用变量 i
作为名称。
关于使用 for..in 访问 JavaScript 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10169629/