我的一个朋友向我提出了挑战,要求我编写一个能够同时处理这两种情况的函数。
add(2,4) // 6
add(2)(4) // 6
我的直觉是编写一个返回它自身的add()函数,但我不确定我是否朝着正确的方向前进。这尝试失败了。
function add(num1, num2){
if (num1 && num2){
return num1 + num2;
} else {
return this;
}
}
alert(add(1)(2));
因此,我开始阅读有关返回其他函数或返回自身的函数的内容。
- http://davidwalsh.name/javascript-functions
- JavaScript:自调用函数返回一个闭包。它是用来做什么的?
- JavaScript:自调用函数返回一个闭包。它是用来做什么的?
我将继续尝试,但如果有人有一个巧妙的解决方案,我很想看看!