Напишите функцию sum, которая работает так: sum(a)(b) = a+b.
Да, через двойные скобки. Это не опечатка. Например:
sum(1)(2) = 3 sum(5)(-1) = 4
Решение
Решение
Чтобы вторые скобки в вызове работали - первые должны возвращать функцию.
Эта функция должна знать про a и уметь прибавлять a к b. Вот так:
function sum(a) {
return function(b) {
return a + b; // возьмет a из внешнего LexicalEnvironment
};
}
alert( sum(1)(2) );
alert( sum(5)(-1) );
#57