我有一个 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 的顺序。但是有没有可能 fn2 在 fn1 之前被调用?
最佳答案
正在回答您的更新...
不,这是不可能的。
函数调用的顺序与您在代码中声明的顺序相同。
关于javascript - 对象属性的赋值顺序与它们声明的顺序相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19320693/