Javascript函数定义中的一个参数,但给出了两个参数

时间:2015-09-29 13:47:53

标签: javascript

我现在正在阅读有关闭包的内容,并对此javascript代码感到困惑。

function makeAdder(x) {
  return function(y) {
    return x + y;
  };
};

var add5 = makeAdder(5);
var add10 = makeAdder(10);

console.log(add5(2));  // 7
console.log(add10(2)); // 12

console.log如何工作?由于add5 = makeAdder(5),所以不是 add5(2))= makeAdder(5)(2)?

我想知道y = 2是如何在这个函数中由javascript决定的,因为该函数只定义了一个参数x。

编辑:很抱歉要说清楚,我感到困惑的是它看起来像是5和2都被传递到makeAdder(x)。

0 个答案:

没有答案