Определение области видимости и подъем функций Javascript

Я только что прочитал отличную статью о JavaScript Scoping and Hoisting, написанную Беном Черри , в которой он дает следующий пример:

var a = 1;

function b() {
    a = 10;
    return;

    function a() {}
}
b();
alert(a);

Используя приведенный выше код, браузер выдаст «1».

Я до сих пор не понимаю, почему он возвращает «1». На ум приходят некоторые вещи, например: Все объявления функций подняты вверх. Вы можете ограничить переменную с помощью функции. Мне все еще не нравится.

85
задан thefourtheye 17 April 2015 в 13:44
поделиться