在Eloquent Javascript(https://eloquentjavascript.net/05_higher_order.html)的第5章中,有一个例子说明我很难缠头。
function greaterThan(n) {
return m => m > n;
}
let greaterThan10 = greaterThan(10);
console.log(greaterThan10(11));
// → true
我得到了该函数的初始调用并将n
分配给10。这是第二次调用时,我不知道如何将11
传递给变量m
(参数是否仍为n
?我几乎想认为它会用10
覆盖11
。)
当我执行alert(greaterThan10)
时,它会显示m => m > n
,这也使我感到困惑,为什么它不会将n
显示为10
。