TypeError:调用函数时number不是函数

时间:2015-08-29 11:07:17

标签: javascript function typeerror invoke

我必须编写一个必须由

调用的单个函数
sum(2,3); //5 
//or
sum(2)(3); //5

我写了这段代码

function sum (a,b){
return a + b;
}
sum(2,3);

我得到了' TypeError:数字不是函数'。为什么呢?

3 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

function sum(a,b) {
   return arguments.length>1? a+b : function (b) { return a + b };
}

答案 1 :(得分:1)

您应该使用curried函数:

function sum(a, b) {
  if (b === undefined) {
    return function (b) {
      return a + b;
    }
  }
  return a + b;
}

// sum(1, 2) === sum(1)(2)

答案 2 :(得分:-1)

您只能以这种方式调用该函数。

sum(2,3);