建立一個計算兩個參數之和的 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);