После закодировано JavaScript с 1996 года, у меня есть очень простой вопрос, который я не мог четко доказать/опровергнуть с помощью jsfiddleРазъяснения в JavaScript переменного выпуска
В некоторых JS прикрепленных к резюме, я заметил некоторые вопросы, которые я хотел для проверки - один из которых - многократное объявление переменной в той же функции
Тестирование кажется, что оно разрешено в новых браузерах (OSX Chrome16 Fx 10beta) - насколько я помню, это использовало, чтобы давать ошибки (Netscape/Mozilla/Fx1/IE5 или около того):
function something() {
var var1 = "";
.
/* reams of code which scrolls the first declaration off the screen
so the author likely forgot the var was already declared earlier
in the same function */
.
var var1 = ""; // could this result in an error in some browsers?
}
Моя скрипка является here
Спасибо - я смутно помню, Netscape или Mozilla или Fx 1 или так дает мне ошибку, но так как это случилось только один раз для меня, возможно, я был неправ - я знаю, что он работает в для циклов, но это для меня очень локальная область. – mplungjan
@mplungjan. Циклы 'var i' in for поднимаются в начало функции точно так же, как любая другая переменная, объявленная в области функции - все' i's в циклах ссылаются к той же переменной. Ситуация аналогична той, которую вы описываете. –
Справа. Отметил. Спасибо – mplungjan