的性能是这样的:的Javascript:“闭包”变量
function Con() {
var foo = 42;
this.foo = foo
}
更慢比这
function Con() {
this.foo = 42;
}
论的调用返回的对象foo的变量的后续使用' Con'构造函数? 也就是说。如果变量首先存在于构造函数调用的关闭中,它会受到伤害吗?
编辑: @FakeRainBrigand:嗯,在这里你测量使用构造函数构造一个对象的时间。对? 我宁愿想着一个构造对象的后续使用,就像这样:
var myObj = new Con();
var bar = myObj.foo;
什么是时使用的最后一行只(即变量foo
的访问),在两种情况下?
很慢,但没有什么会伤害你的表现 –
他们是不等价的。在第一个中你有两个变量。如果'foo'没有被引用(字符串,数字......)传递,那么如果使用'foo',则'foo'和'this.foo'不会同步。如果你使用'this.foo',那么'var foo'不起作用。 – elclanrs
这是那些调用如此微不足道的情况之一,您最好使用对代码可读性更友好的代码,而不是优化代码。 – ars265