Является ли это:Javascript: Производительность «closured» переменных
function Con() {
var foo = 42;
this.foo = foo
}
более медленно, чем это:
function Con() {
this.foo = 42;
}
На последующих использований переменной Foo на объект, возвращаемый призванию из ' Con'-конструктор? Т.е. это больно, если переменная сначала живет в закрытии вызова конструктора?
EDIT: @FakeRainBrigand: Здесь вы измеряете время построения объекта с помощью конструктора. Правильно? я скорее думать о последующем использовании построенного объекта, например:
var myObj = new Con();
var bar = myObj.foo;
Что такое использование времени последняя строка только (то есть, но доступ к переменным foo
) в обоих случаях ?
это медленнее, но ничего, что будет больно производительность –
Они еще не эквивалентны. В первом вы имеете две переменные. Если 'foo' не передается по ссылке (строки, числа ...), то' foo' и 'this.foo' не будут синхронизироваться, если вы используете' foo'. Если вы используете 'this.foo', то' var foo' не поможет. – elclanrs
Это один из тех случаев, когда вызовы настолько ничтожны, что вам лучше использовать более удобную для чтения кода, чем оптимизацию. – ars265