建立一个计算两个参数之和的 function。若是只有一个参数,则返回一个 function,该 function 请求一个参数而后返回求和的结果。函数
例如,add(2, 3)
应该返回 5
,而 add(2)
应该返回一个 function
。测试
调用这个有一个参数的返回的 function
,返回求和的结果:code
var sumTwoAnd = add(2);
ip
sumTwoAnd(3)
返回 5
。get
若是两个参数都不是有效的数字,则返回 undefined
。回调函数
add(2, 3)
应该返回 5
。add(2)(3)
应该返回 5
。add("http://bit.ly/IqT6zt")
应该返回 undefined
。add(2, "3")
应该返回 undefined
。add(2)([3])
应该返回 undefined
。typeof
进行判断;function add() { for (var i = 0; i < arguments.length; i++) { if (typeof arguments[i] !== "number") { return undefined; } } if (arguments.length == 1){ x = arguments[0]; return function(val){ if(typeof val == "number") return val + x; else return undefined; }; } else { return arguments[0] + arguments[1]; } } add(2,3);