【发布时间】:2014-11-15 18:00:53
【问题描述】:
我是 Javascript 新手,正在学习闭包和嵌套范围。
提示要求这样做: 编写一个具有三个嵌套函数的函数,每个函数以一个数字作为参数。最里面的函数应该返回所有三个数字的总和。
这是我想出来的:
var outMost = function (num1) {
var x = num1;
var innerMost = function (num2) {
var y = num2;
var innerInnerMost = function (num3) {
console.log(x + y + num3);
}
return innerInnerMost;
}
return innerMost;
}
var firstNum = outMost(1);
firstNum(2);
firstNum((3));
请帮助我理解我做错了什么——我已经在许多网站上了解了闭包和范围,但似乎没有什么能很好地解释它。谢谢你的帮助。
【问题讨论】:
-
请注意
x和y变量不是必需的,num1和num2命名参数是相同范围内的变量,您可以直接用于求和。
标签: javascript scope closures