JavaScript和/或JSON是否要求解析器按定义顺序枚举属性?

前端之家收集整理的这篇文章主要介绍了JavaScript和/或JSON是否要求解析器按定义顺序枚举属性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给定一个对象定义:
var o = {x :1,y:2,z: 3,b: 4,a: 5,m: 6,X: 7};

在枚举时,Chrome似乎遵循定义属性的顺序:

for (var i in o) { console.log(i,o[i]); }

产量:

x 1
y 2
z 3
b 4
a 5
m 6
X 7

JavaScript和/或JSON是否指定了此级别的订单保留?

在任何一种情况下,它都可靠吗?

解决方法

不,Javascript规范明确地不需要任何特定的枚举顺序,根据定义它们是无序的.

见第12.6.4 of the ECMAScript specification节:

The mechanics and order of enumerating the properties … is not specified.

原文链接:https://www.f2er.com/js/150951.html

猜你在找的JavaScript相关文章