在php中,如果您有以下代码:
$map = array( "first" => 1, "second" => 2 ); $map["third"] = 3; foreach($map as $key => $value) { // code }
您知道条目将按照它们添加到阵列的顺序列出.
现在,我可以假设同样的规则适用于下面的Javascript等价物吗?
map = { "first": 1, "second": 2 }; map["third"] = 3; for (key in map) { // code }
这是一个副本:元素顺序 - 在javascript中的(... in ...)循环
大多数浏览器将按照添加到对象的顺序循环遍历属性,但Javascript标准表示订单未定义 - 因此您不应该依赖此行为.例如,我稍后阅读了一篇关于Google Chrome并不总是表现出这种行为的博客文章.
如果您需要订购的功能,则应为自己创建一个可以同时使用对象或数字键的新类.