Я понимаю, почему следующее предупреждение() возвращает «синий».идентификатор lookup conundrum
var color = "blue";
function getcolor() {
return color;
color = "red";
}
alert(getcolor());
Если я не неправильно, то функция прекращает выполнение после его возвращения заявления, предотвращение глобального «цвет» переменной от перезаписи.
Но почему, если мы изменим определение функции ниже, предупреждает ли alert() «undefined»?
var color = “blue”;
function getcolor() {
return color;
var color = “red”;
}
alert(getcolor());
Я ожидал, что функция GetColor() будет завершаться после возвращения заявления, как и раньше, и возвращает значение глобальной переменной цвета «синий».
Не var color = "red" установить переменную цвета local в функцию getcolor (0) - хотя она еще не пропустила функцию, которая затем вернется не определена, поскольку она не получила заявление о назначении? – Terry