Прежде чем задать свой вопрос, позвольте мне дать оговорку. Я знаю, что делает var
, я знаю о области блока, и я знаю о переменной подъеме. Я не ищу ответов на эти темы.
Мне просто интересно, есть ли функциональная, память или производительность для использования объявления переменной в одной и той же переменной более одного раза внутри функции.
Вот пример:
function foo() {
var i = 0;
while (i++ < 10) {
var j = i * i;
}
}
Предыдущее может быть просто записано с помощью объявленного выше j
variabled:
function foo() {
var i = 0, j;
while (i++ < 10) {
j = i * i;
}
}
Мне интересно, существует ли какая-либо фактическая разница между этими двумя методами. Другими словами, делает ли ключевое слово var
чем-либо иным, чем устанавливать область видимости?
Причины, по которым я слышал, предпочитаю второй метод:
- Первый метод дает видимость области блока, когда она фактически функция область.
- Переменные объявления поднимаются до верхней части области действия, так что там, где они должны быть определены.
Я считаю эти причины хорошими, но прежде всего стилистическими. Существуют ли другие причины, которые имеют больше общего с функциональностью, распределением памяти, производительностью и т.д.?