JavaScript - 对象创建与更新

G.D*_*ngh 0 javascript performance object

在JavaScript中:

例1:

var x = {}; x.a = 10;

例2:

var x = {}; x = {a: 10};

基于性能,示例1和2之间是否有任何区别,考虑到需要附加许多属性var x,而不仅仅是a.

哪个更有效率?

Cer*_*rus 6

选择3:

var x = {
    a: 10,
    b: 20,
    // etc
};
Run Code Online (Sandbox Code Playgroud)

不要声明x为空对象,只是将其替换为具有a属性的对象.

当您需要在对象上设置大量属性时,使用这样的对象文字比分别添加每个属性更有效.但是,差异可以忽略不计.

选项#1的缺点是:
每个要添加到对象的单个属性都有1个操作,这在需要大量属性时会产生影响.

选项#2的缺点是:
您正在声明对象,然后完全替换它.

我的建议只需一次性将所有必需的属性添加到对象中,而无需替换变量.

  • @Vladimirs如何将钉钉在墙上?用勺子或叉子?根据你的逻辑,你会说勺子,我会说它是锤子. (4认同)
  • [只是一个小小的性能测试来证明我的观点.](http://jsperf.com/object-declaration-separate-literal-replace-literal) (2认同)