【发布时间】:2013-06-11 17:33:42
【问题描述】:
我在 JavaScript 中创建一个非常基本的对象并循环遍历它的属性,显示属性名称:
var name = {
'A': 'DataA',
'B': 'DataB',
'C': 'DataC',
'D': 'DataD',
'E': 'DataE'
}
for (var propName in name) {
document.getElementById('result').innerHTML += propName + ' '
}
在 IE 和 FireFox 中会产生预期的结果:
A B C D E
但在 Chrome 中产生相同的代码
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
知道为什么吗?关键字 name 在 Chrome 中是否有意义?
【问题讨论】:
-
JSFiddle 由于某种原因没有显示效果,但是当我直接在浏览器中打开带有代码的 HTML 页面时 - 会发生这种情况
-
当您将它用作全局时,Chrome 似乎并不喜欢它(window 对象上有一个 name 属性)。只需在函数中运行即可。
-
@zdyn 就是这样!显然,Chrome 中的
name是[Object, Object],这就是这些属性的来源。奇怪的东西。使用私有name变量运行它可以工作。如果您将此作为答案发布,我会接受。 -
@zerkms 是的,您的小提琴将代码包装在一个函数中,这就是它不会中断的原因,请参阅jsfiddle.net/cqvrF/2 您必须选择 nowrap 选项...
标签: javascript google-chrome object for-loop