Maks00088
@Maks00088
Обучаюсь Java/JavaEE /Php/Js

Динамическая облать видимости, что это такое?

Интересно из данного примера как будет созданна область видимости в данном коде vat text ?
При компиляции sayHello как идентификатор для данного scope , но что происходит дальще ? Во время выполнения программы я вызываю через переменную sayHello присвоенную ей функцию , во время вызова внутри присвоенной анонимной функции есть var text это момент когда создаётся область видимости динамически так как обьект из функции создаётся при вызове в рантайме ?
var sayHello = function (name) {
  var text = 'Hello, ' + name;
  return function () {
    console.log(text);
  };
};


var helloTodd = sayHello('Todd');
helloTodd(); // вызывает замыкание и выводит 'Hello, Todd'
  • Вопрос задан
  • 178 просмотров
Решения вопроса 1
@vshvydky
1. вызов функции sayHello
2. инициализированы локальные переменные name = "Todd"
text = "Hello, Todd"
3. функция хеллотод получает в возврат анонимную функцию наследника функции сейхелло, в замыкании держа значение:
b289bdb319394f3e92381799a996829e.PNG
4. Вызов анонимной функции, которая видит в своей зоне видимости данные из text = "Hello, Todd" и пишет это в лог.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы