JavaScript基礎(chǔ)問題

科技 未結(jié) 4 786

var json_obj =
{
"40": [{ "title": "all", "name": "all promotions", "id": "all" },{}],
"20": { "title": "best_room_rate", "name": "best room rate", "id": "best_room_rate" },
"10": { "title": "summer rate", "name": "summer rate", "id": "30" }
}

for (var item in json_obj) {
alert(item);//10->20->40
}
請(qǐng)問這里輸出結(jié)果為什么不是40->20->10呢

4條回答
  • Chrome和Opera的JavaScript解析引擎遵循的是新版ECMA-262第五版規(guī)范。因此,使用for-in語句遍歷對(duì)象屬性時(shí)遍歷書序并非屬性構(gòu)建順序。而IE6、IE7、IE8、Firefox、Safari的JavaScript解析引擎遵循的是較老的ECMA-262第三版規(guī)范,屬性遍歷順序由屬性構(gòu)建的順序決定。

提交回復(fù)