18

パラメータのブラケットが渡されない場合に、この関数がどのように警告するかを説明できる人はいますか。はっきりと理解できませんでした。

function sum(a) {

  var sum = a

  function f(b) {
    sum += b
    return f
  }

  f.toString = function() { return sum }

  return f
}

alert( sum(1)(2) )  // 3
alert( sum(5)(-1)(2) )  // 6
alert( sum(6)(-1)(-2)(-3) )  // 0
alert( sum(0)(1)(2)(3)(4)(5) )  // 15
4

5 に答える 5