7

我在 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 中是否有意义?

4

2 回答 2

4

当您将其用作全局变量时,Chrome 似乎并不喜欢它(window 对象上还有一个 name 属性)。只需在函数中运行它。

于 2013-06-15T00:55:05.143 回答
-5

尝试

for (var propName in name) {
    document.getElementById('result').innerHTML += (propName + ' ');
}
于 2013-06-15T00:43:34.117 回答