我最近开始自学javascript,正在读一本叫做《Eloquent JavaScript》的书。以下代码是书中的一个示例脚本,它让我感到困惑:
function greaterThan(n) {
return function(m) { return m > n; };
}
var greaterThan10 = greaterThan(10);
console.log(greaterThan10(11));
有人可以解释一下最后两行的逻辑吗? greaterThan10
包含真值还是函数?
最佳答案
您在倒数第二行定义greaterThan10
:
var greaterThan10 = greaterThan(10);
在这种情况下,无论 greaterThan
函数返回什么,greaterThan10
都会计算出结果。
在第 2 行,我们看到 greaterThan
将返回以下函数表达式:
function(m) { return m > n; }
用您传递的值替换变量n
后,我们得到:
function(m) { return m > 10; }
关于javascript - 通过变量调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43420972/