Задать вопрос

Как правильно понять такой вызов функции?

var a = 1;
function getFunc() {
  var a = 2;
  var func = function() { alert(a); };
  return func;
}
getFunc()();

Вопрос про getFunc()();
  • Вопрос задан
  • 305 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 1
@AlexRas
Это тоже самое что и
var a = 1;
function getFunc() {
  var a = 2;
  var func = function() { alert(a); };
  return func();
}
getFunc();
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
petermzg
@petermzg
Самый лучший программист
Эта функция getFunc() возращает функцию, которая запомнила свое окружение, т.е. локальную переменную "а".
А далее идет вызов функции, что была возращена. getFunc()();
Ответ написан
maaGames
@maaGames
Погроммирую программы
Вызов функтора возвращаемой функцией.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы