【发布时间】:2016-05-10 21:16:42
【问题描述】:
function add (x) {
return function (y) {
return x + y;
};
}
var add5 = add(5);
var no8 = add5(3);
alert(no8); // Returns 8
谁能解释一下y会发生什么?函数add的第一次调用如何返回5?它会忽略 y 还是什么?
【问题讨论】:
-
第一次调用返回一个函数。问题之前已经问过了。希望有人能更好地找到骗子。
-
函数
add接受一个数字x,并返回一个函数,它接受一个参数(指定为y)并将其添加到x。所以var add5 = add(5)返回一个函数,它的参数会加 5。然后var no8 = add5(3)使用参数 3 调用该函数。
标签: javascript function scope return closures