2020-04-02 15:35:13
Общение Движка с Областью видимости
foo(a) {
console.log( a ); // 2
}
foo( 2 );
Представим это взаимодействие (с обработкой этого фрагмента) в виде разговора. Общение между Движком и Областью видимости будет происходить примерно так:
Движок: Эй, Область видимости, у меня есть RHS-ссылка на foo.
Знаешь, что это?
Область видимости: Ну да, знаю. Компилятор объявил foo секунду назад. Это функция. Вот, держи.Упражнение 37
Движок: Здорово, отлично! Перехожу к выполнению foo.
Движок: Эй, Область видимости, у меня есть LHS-ссылка на а.
Знаешь, что это?
Область видимости: Ну да, знаю. Компилятор только что объявил
a как формальный параметр foo. Вот, держи.
Движок: Полезно, как всегда, Область видимости. Еще раз спасибо. А теперь пора присвоить a значение 2.
Движок: Эй, Область видимости, снова придется тебя побеспокоить. Мне нужно выполнить RHS-поиск для console. Знаешь, что это?
Область видимости: Без проблем, Движок, целыми днями только этим и занимаюсь. Да, я знаю, что такое console — это встроенный объект. Вот, держи.
Движок: Прекрасно. Теперь ищу log(..). Отлично, это функция.
Движок: Область видимости, а сможешь помочь с RHS-ссылкой на a? Вроде бы я помню что-то такое, но хочу проверить лишний раз.
Область видимости: Верно, Движок. Та же переменная, ничего не изменилось. Вот, держи.
Движок: Отлично. Передаю значение a, то есть 2, функции log(..).
292 viewsedited 12:35