请问,为什么(3)会是function(arg2)中的参数arg2?
function addTogether() { // Function to check if a number is actually a number var checkNum = function(num) { if (typeof num !== 'number') { return undefined; } else{ return num; } }; if (arguments.length > 1) { var a = checkNum(arguments[0]); var b = checkNum(arguments[1]); if (a === undefined || b === undefined) { return undefined; } else { return a + b; } } else { var c = arguments[0]; if (checkNum(c)) { return function(arg2) { if (c === undefined || checkNum(arg2) === undefined) { return undefined; } else { return c + arg2; } }; } }}addTogether(2)(3); |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
最后应该是addTogether(2)(3)吧。。
先执行addTogether(2),执行else部分,return functon(arg2){....},相当于执行addTogether(2)的结果就是function(arg2){.....}这个函数;
然后再执行则相当于function(arg2){....}(3),所以arg2这个参数就是3 |
|
|
|
|