javascript - 对象属性的赋值顺序与它们声明的顺序相同吗?

标签 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 的顺序。但是有没有可能 fn2 在 fn1 之前被调用?

最佳答案

正在回答您的更新...

不,这是不可能的。

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

关于javascript - 对象属性的赋值顺序与它们声明的顺序相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19320693/

相关文章:

javascript - setState 不是永久的

javascript - 带有内联 JavaScript 的 Dust.js

javascript - 下划线 - _.every 实现

javascript - JavaScript 中 % 符号的不同用法

c# - 查找 ActiveX 组件的所有属性

svn - 我可以在“添加属性”对话框中将自定义属性添加到 TortoiseSVN 的属性列表中吗?

javascript - Babelify 多个目录中的文件

javascript - 查找 HTML 页面中的所有文本节点

c++ - 如何使用标志参数创建函数? (C++)

javascript - 如果我只有对该属性的引用,我可以得到该属性的对象吗?