我是一个新手程序员,正在尝试通过《Eloquent JavaScript》学习JS。
到目前为止一切都很好,直到我看到了以下代码示例:
function makeAddFunction(amount) {
function add(number) {
return number + amount;
}
return add;
}
var addTwo = makeAddFunction(2);
var addFive = makeAddFunction(5);
show(addTwo(1) + addFive(1));
注意:show类似于alert,只是它在JS控制台的屏幕上显示变量,教程已整合。
作者说这是一个例子,展示了词法作用域如何允许合成函数。 章节在此
我不明白的是,addTwo
和addFive
被称为变量,怎么能将参数发送到makeAddFunction
和add
函数中,更具体地说,函数add
如何知道变量发送的参数是number
参数。
谢谢大家的帮助!