const obj = {'name':'张三','3':'ccc','a':'000','2':'222','1':'aaa'};
Object.keys(obj);
console.log(obj)
["1","2", "3", "name", "a"]
{1: 'aaa', 2: '222', 3: 'ccc', name: '张三', a: '000'}
当我们打印obj时回存在一个默认顺序
而Object.keys()打印属性时也存在这样的一个顺序
结论
Chrome Opera 中使用 for-in 语句遍历对象属性时会遵循一个规律:
它们会先提取所有 key 的 parseFloat 值为非负整数的属性,然后根据数字顺序对属性排序首先遍历出来,然后按照对象定义的顺序遍历余下的所有属性。
标签:遍历,obj,keys,Object,顺序,排序,属性 From: https://www.cnblogs.com/zx529/p/17033505.html其它浏览器则完全按照对象定义的顺序遍历属性。``