Сума із замиканням
важливість: 4
Напишіть функцію sum
яка працює ось так: sum(a)(b) = a+b
.
Саме так, використовуючи подвійні дужки (це не друкарська помилка).
Наприклад:
sum(1)(2) = 3
sum(5)(-1) = 4
Щоб другі дужки працювали, функція повинна повертати іншу функцію.
Ось так:
function sum(a) {
return function(b) {
return a + b; // Бере "a" із зовнішнього лексичного середовища
};
}
alert( sum(1)(2) ); // 3
alert( sum(5)(-1) ); // 4