【发布时间】:2015-02-20 19:14:10
【问题描述】:
这是Eloquent JS http://eloquentjavascript.net/05_higher_order.html第5章的问题
function noisy(f) {
return function(arg) {
console.log("calling with", arg);
var val = f(arg);
console.log("called with", arg, "- got", val);
return val;
};
}
noisy(Boolean)(12);
// → calling with 0
// → called with 0 - got false
有人能解释一下 f(arg) 的含义吗?我的意思是他在另一个参数 arg 上调用参数 f ?我很迷茫。
有返回值的部分怎么样;为什么必须在那里?当我删除它时,代码仍然可以正常运行。
最后,有人可以逐行解释代码解释吗?在示例中传递布尔值有何意义?
非常感谢
【问题讨论】:
标签: javascript callback higher-order-functions