函数add同时满足add(a,b)和add(a)(b),且输出结果为a+b,如:add(2,3)和add(2)(3)均得到5。


 1.实现add((2)(3)(4)(5)) = 2+3+4+5

    function add(a) {
      function fun(b) {
        a += b;
        return fun;
      }
      fun.toString = function () {
        return a;
      }
      return fun;
    }
    console.log(add(1)(2)(3)(4)(6));   //10

2.实现add(2,3)=add((2)(3))=2+3

    function add(x, y) {
      var sum = x;
      if (y)
        return sum + y;
      else {
        var temp = function (z) {
          sum = sum + z;
         return temp;
        }
        temp.toString = function () {
          return sum;
        };
        return temp;
      }
    }
    console.log(add( 3, 6));
    console.log(add(3)(6)(10));
原文地址:https://www.cnblogs.com/yaya-003/p/12687497.html