Я отвечу на ваш вопрос о производительности несколькими вопросами:
- Вы заметили проблему с производительностью?
- Вы определили, что ваше утверждение о вар был узким местом?
- Вы тестировали каждую версию?
Я предполагаю, что ответ на все эти вопросы был нет .
Ни один из вариантов не должен иметь какого-либо существенного значения, хотя единственный способ узнать наверняка - это запустить их и протестировать. JavaScript, являющийся асинхронным клиентским языком, означает, что вам нужно было бы выполнить огромный код, чтобы операторы var
были узким местом любого рода.
В конце концов, если вы решаете, какую версию использовать, я бы рекомендовал использовать один оператор var
без присваивания:
function () {
var a,
b,
c,
foo,
bar,
fizz,
buzz;
a = 1;
...
b = 3;
}
Причина этого в том, что именно так будет выполняться код из-за поднятия переменной. Затем я могу переместить оператор инициализации так, чтобы эта переменная использовалась впервые, например, в цикле for
:
function foo(arr) {
var i,
l;
...
for (i = 0, l = arr.length; i < l; i++) {
doStuff(arr[i]);
}
...
}