可以通过两种方式调用的单个函数

Sca*_*ola 0 javascript

我正在尝试编写一个可以通过两种方式调用的函数:

sum(3,5); //8
Run Code Online (Sandbox Code Playgroud)

要么

sum(3)(5); //8
Run Code Online (Sandbox Code Playgroud)

这显然不够:

function sum (a,b){
  return a + b;
}
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的地方:

http://jsfiddle.net/marcusdei/a8tds42d/1/

Joh*_*son 5

你可以这样做:

function sum (a,b){
    if(b == undefined){
        return function(b){
            return a + b;   
        }
    } else {
      return a + b;        
    }
}
Run Code Online (Sandbox Code Playgroud)