手记

JS中的关于闭包的实例

创建一个计算两个参数之和的 function。如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果。

例如,add(2, 3) 应该返回 5,而 add(2) 应该返回一个 function。

调用这个有一个参数的返回的 function,返回求和的结果:

var sumTwoAnd = add(2);

sumTwoAnd(3) 返回 5

代码:

function add(x) {
  if(arguments.length === 1 && typeof x === "number"){
    return function(y){
      if(typeof y === "number"){
        return x+y;
      }
    };

  }else{
    if(typeof x !== "number" || typeof arguments[1] !== "number"){
      return undefined;
    }
    return arguments[0]+arguments[1];
  }
}

add(2,3);
1人推荐
随时随地看视频
慕课网APP