javascript - 通过变量调用函数

标签 javascript

我最近开始自学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/

相关文章:

javascript - promise 不在 thenable 中提供更新的数组

javascript - MongoDB 更新对象,项目删除未保存

javascript - 通过 form.submit() 传递属性;

javascript - 在nodejs(异步)中寻找循环和回调的正确模式

javascript - 如果切片颜色为白色,Highcharts donut 饼不显示悬停指示器

javascript - anchor 标记上的 JQuery click() 未从 WebBrowser 控件内的注入(inject)脚本触发

javascript - 一种同步Web浏览器操作的方法

javascript - 在 onClick 和 if/else 问题上需要一些帮助

javascript - 如何在 JavaScript 中流式传输 Blob 视频?

javascript - 如何将特定数量的 <option> 项从一个 <select> 复制到另一个?