(function() {
var x = 5;
(function() {
function f(y) { return (x+y)-2 };
(function() {
function g(h) { var x = 7; return h(x) };
(function() { var x=10; z=g(f); })();
})();
})();
})();
Я работаю над некоторыми проблемами из своего учебника в своем классе, чтобы подготовиться к нашему следующему экзамену и не могу понять, как это оценивается выше.Javascript Вопросы оценки (часть 2)
В основном, я не понимаю вызов z = g (f), как и при оценке f, ему не предоставлен аргумент, так как он вообще оценивается? Как он знает, что такое y? Что будет оценивать g (f)?
Кроме того, насколько мне известно, javascript рассматривает большинство всего как глобальные переменные, поэтому последний установленный x будет значением x, используемым в функции f, правильно?
Спасибо за помощь!
Обратите внимание, что это дополнительные проблемы в задней части книги, которую я практикую, чтобы подготовиться к экзамену, это не прямые домашние вопросы.
Разве это тот же вопрос, который вы только что задали? Минус обертывания. –
@meder, это похоже, но не то же самое. –
@Matthew Flaschen - Я знаю, что код не совсем то же самое, но подсказки, данные ему в последнем ответе, должны дать ему достаточно, чтобы решить эту проблему. –