在Eloquent Javascript书中,我遇到了这段代码。 我理解这是如何工作和论证的传递,但我无法理解的是作者关于这段代码的陈述,它是一个可以创造另一个功能的功能!
我的问题是:它是如何创建新功能的?作者正在调用创建新函数的情况如何?我的意思是我们确定我们正在创建一个名为greaterThan的函数,它还有另一个函数,但是我无法看到更多的函数正在创建另一个函数!
我向你保证,在询问之前我已经阅读了很多类似的Q,但无法找到我想要的答案。谢谢你的时间和帮助
function greaterThan(n) {
return function(m) {
return m > n;
};
}
var greaterThan10 = greaterThan(10);
console.log(greaterThan10(11));
// → true
答案 0 :(得分:1)
正在第六行创建该功能。
var greaterThan10 = greaterThan(10);
这会创建一个函数greaterThan10
,可用于检查数字是否大于10.您可以在第7行看到它。
编辑:
当在第6行调用函数greaterThan
时,它返回嵌套函数,有效地生成
greaterThan10 = function(m){
return m > 10;
};
作者正在致电greaterThan10
新功能'由函数greaterThan
创建。