是否按照相同的顺序分配了对象属性?

时间:2013-10-11 14:28:47

标签: javascript function properties

我有一个JavaScript函数,需要根据一些变量返回不同的对象。

return {
  source: fSource,
  a: readArray(),
  b: readArray()
};

是否保证解释器将readArray的第一个返回值分配给a,将第二个返回值分配给b?我可以轻松地将其重写为:

var tmp = {
  source: fSource,
};
tmp.a = readArray();
tmp.b = readArray();
return tmp;

但我有很多这样的代码,第一个符号非常漂亮。

我知道对象属性的顺序可能会改变,但我怀疑这会影响我的情况。

更新

澄清我的疑虑:

var a = {
  foo: fn1(),
  bar: fn2()
};

我不关心对象中foo和bar的顺序。但有可能在fn1之前调用fn2吗?

1 个答案:

答案 0 :(得分:1)

回答您的更新......

不,这是不可能的。

函数调用的顺序与您在代码中声明的顺序相同。