栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript元素按“ for(…in…)”循环排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript元素按“ for(…in…)”循环排序

当前,所有主流浏览器都按照定义它们的顺序遍历对象的属性。Chrome可以做到这一点,除了少数情况。[…]
ECMAscript规范明确未定义此行为。在ECMA-262中,第12.6.4节:


枚举属性的机制……取决于实现。

但是,规范与实现完全不同。ECMAscript的所有现代实现都按照定义它们的顺序遍历对象属性。因此,Chrome小组认为这是一个错误,并将予以修复。

除了Chrome和Opera以外,所有浏览器都遵循定义顺序,而Chrome则对每个非数字属性名称都遵循。在这两种浏览器中,属性是按顺序拉到第一个非数字属性之前的(这与它们实现数组的方式有关)。顺序也相同

Object.keys

此示例应清楚说明发生了什么:

var obj = {  "first":"first",  "2":"2",  "34":"34",  "1":"1",  "second":"second"};for (var i in obj) { console.log(i); };// Order listed:// "1"// "2"// "34"// "first"// "second"

它的技术性不如可能随时更改的事实重要。不要依赖保持这种状态的事物。

简而言之:如果顺序对您很重要,请使用数组。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号