0

这是:

function Con () {
    var foo = 42;
    this.foo = foo
}

比这更慢:

function Con () {
    this.foo = 42;
}

在调用“Con”构造函数返回的对象上随后使用 foo 变量?IE。如果变量首先存在于构造函数调用的闭包中,会不会有伤害?

编辑:@FakeRainBrigand:好吧,在这里您测量使用构造函数构造对象的时间。正确的?我宁愿考虑构造对象的后续使用,如下所示:

var myObj = new Con();
var bar = myObj.foo;

在这两种情况下,仅最后一行(即变量的访问)的时间使用是foo多少?

4

1 回答 1

2

它稍微慢一些。这是一个性能测试。它或多或少可以忽略不计,几乎肯定还有其他问题您应该担心。我们每秒可以做 6000 万次,所以担心你每秒只能做几次的事情。

使用原始问题中的代码进行性能测试


将测试更改为不包括实际制作构造函数,它们变得更加相同。这可能是由于内部优化。在这里,两者都落入了误差范围。

第二次性能测试

于 2013-08-20T07:08:14.940 回答