【发布时间】:2010-09-21 19:07:24
【问题描述】:
Javascript 中的“for...in”循环是否按照声明的顺序遍历哈希表/元素?是否有浏览器不按顺序执行?
我希望使用的对象将被声明一次并且永远不会被修改。
假设我有:
var myObject = { A: "Hello", B: "World" };
我进一步使用它们:
for (var item in myObject) alert(item + " : " + myObject[item]);
在大多数体面的浏览器中,我可以期望 'A : "Hello"' 总是出现在 'B : "World"' 之前吗?
【问题讨论】:
-
因为他们只会测试潜在浏览器和变体的子集。更不用说任何未来的浏览器了。假设一个不失败的测试提供任何具体的证据是完全错误的。
-
我怀疑我自己有限的 javascript 能力会比 SO 人群更好。除了谁知道那里潜伏着什么奇怪的浏览器吗?您可以在答案中看到 GChrome 确实有一个错误,这在我的简单示例中并不明显。
标签: javascript for-loop