Здравствуйте! Разбираю тему замыкания в JS и не могу понять двух моментов в коде с MDN по теме. Объясните пожалуйста (вопросы после кода).
function makeFunc() {
var name = "Mozilla";
function displayName() {
alert(name);
}
return displayName; // (1 Вопрос)
};
var myFunc = makeFunc(); // (2 Вопрос)
myFunc();
Как ни странно, будет возвращена именно эта функция.
из пункта выше следует, что makeFunc() возвращает новую функцию, которая и сохраняется в переменную, для последующего вызова.
Действительно, можно не сохранять результат и вызвать его сразу
makeFunc()();
Но для наглядности результат первого вызова был вынесен отдельно.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей