Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象成员的排序_Javascript - Fatal编程技术网

Javascript 对象成员的排序

Javascript 对象成员的排序,javascript,Javascript,可能重复: 我注意到,在Javascript中(至少在Chrome上),对象会记住其成员的顺序。例如,在 var foo = { x: 1, y: 2 } var bar = { y: 2, x: 1 } foo和bar可以通过我在其上迭代时键出现的顺序来区分 我的问题是: 这个行为是由标准规定的,还是应该被视为一个实现细节 如果标准中有规定,是否有办法更改订单 对象属性未排序。该行为取决于实现 然而,大多数JS引擎似乎保持了现在在对象文本中使用的顺序 V8/Chrome不久前没有这样做。你

可能重复:

我注意到,在Javascript中(至少在Chrome上),对象会记住其成员的顺序。例如,在

var foo = { x: 1, y: 2 }
var bar = { y: 2, x: 1 }
foo
bar
可以通过我在其上迭代时键出现的顺序来区分

我的问题是:

  • 这个行为是由标准规定的,还是应该被视为一个实现细节
  • 如果标准中有规定,是否有办法更改订单

  • 对象属性未排序。该行为取决于实现

    然而,大多数JS引擎似乎保持了现在在对象文本中使用的顺序


    V8/Chrome不久前没有这样做。

    你需要更改订单做什么?@zerkms,说真的?我的应用程序使用排序字典,其中排序顺序是可修改的。我可以通过将顺序存储在字典旁边来模拟它,我只是想知道是否需要。虽然听起来是正确的,但你能提供一个官方消息来源的参考吗稍后我将添加一个更好的参考,但是使用dns隧道连接下载该文档需要一些时间。酷+1.我不想就一个我不确定是否正确的答案投票
    对象是类型对象的成员。它是一个无序的属性集合,每个属性都包含一个基本值、对象或函数。存储在对象属性中的函数称为方法。
    12.6.4:枚举属性的机制和顺序。。。未指定。