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'
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
@vshvydky
1. вызов функции sayHello
2. инициализированы локальные переменные name = "Todd"
text = "Hello, Todd"
3. функция хеллотод получает в возврат анонимную функцию наследника функции сейхелло, в замыкании держа значение:
b289bdb319394f3e92381799a996829e.PNG
4. Вызов анонимной функции, которая видит в своей зоне видимости данные из text = "Hello, Todd" и пишет это в лог.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
20 нояб. 2024, в 15:06
8000 руб./за проект
20 нояб. 2024, в 15:02
5000 руб./за проект
20 нояб. 2024, в 14:56
80000 руб./за проект