使用 for..in 访问 JavaScript 属性

标签 javascript properties

一个similar question已询问,但不符合我所满足的条件。

我知道要访问属性,我可以使用点表示法或方括号表示法。安article at jibbering.com状态相同,也是这个 answerSpecifiacation说的一样。

我有这个例子( 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/

相关文章:

javascript - 告诉屏幕阅读器页面已在 Backbone/Angular 单页应用程序中更改

javascript - jquery slider 不适用于少于 3 个图像 - 即一两个

javascript - 下拉按钮仅在边框附近单击时才起作用

javascript - 使用动态计算的名称访问对象属性

c# - 将类属性作为参数传递

properties - Vue组件设置child的数据值

C++/CX 属性在集合上抛出错误

python - 使用父类中的方法定义属性

Javascript 映射嵌套元素

javascript - 使用屏幕分辨率的移动重定向