Я прочитал концепцию Javascript Hoisting.Its довольно запутанный, но я увидел несколько примеров и понял, что на самом деле делает подъем.
Итак, в основном " Подъем - это поведение JavaScript по умолчанию для перемещения всех объявлений в верхнюю часть текущей области (вверху текущей script или текущей функции)."
Но я не могу понять следующую реализацию:
var is_android = true;
if (is_android) {
function foo() {
alert('I am Android');
}
} else {
function foo() {
alert('I am NOT Android');
}
}
foo();
В окне предупреждения отображается " Я НЕ Android".
Я хочу знать, почему foo()
вызывается из блока else, даже если значение is_android
равно true.
Любая помощь будет оценена.