Показать сообщение отдельно
  #4 (permalink)  
Старый 18.11.2015, 16:01
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

ksa,
function sum(a) {

  var currentSum = a;

  function f(b) {
    currentSum += b;
    return f;
  }

  f.toString = function() {
    return currentSum;
  };

  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

Этот пример работает для вызовов (0)(1)(2)(3)(4)(5) и т п .
Как реализовать без toString и для
console.log(sum(2, 5, 10));//17
   console.log(sum(2, 5)(10));//17
   console.log(sum(2)(5)(10));//17
   console.log(sum(2)(5, 10));//17

Последний раз редактировалось Mess4me, 18.11.2015 в 16:12.
Ответить с цитированием