创建了这样一个对象:
var obj = {};
obj.prop1 = "Foo";
obj.prop2 = "Bar";
结果对象总是像这样吗?
{ prop1 : "Foo", prop2 : "Bar" }
就是说,这些属性是否与我添加它们的顺序相同?
创建了这样一个对象:
var obj = {};
obj.prop1 = "Foo";
obj.prop2 = "Bar";
结果对象总是像这样吗?
{ prop1 : "Foo", prop2 : "Bar" }
就是说,这些属性是否与我添加它们的顺序相同?
遍历得顺序在各个浏览器无法保证一致。
谷歌的是 遍历对象属性时会先提取所有 key 的 parseFloat 值为非负整数的属性,然后根据数字顺序对属性排序首先遍历出来,然后按照对象定义的顺序遍历余下的所有属性。
所以如果想要保证顺序,就放在数组里面遍历。