Задачка на JavaScript
Как должна выглядеть функция, что бы при вводе plus(3)(3) в консоле выводило 6?
После ответа, будет продолжение. |
function plus(a){
return function(b){ console.log(a+b); } } plus(3)(3); // 6 Но лучше было бы сразу написать контекст. |
Это верно. Продолжение, как написать функцию, что бы количество аргументов было неограниченно?
Например, plus(1)(2) == 3 plus(1)(2)(3) == 6 и т.д. |
Manyahin,
а чем вас не устраивает нормальный способ передачи аргументов? function plus() { var result = 0; for(var i = 0; i < arguments.length; i++) { result += +arguments[i]; } return result; } plus(3, 3); // 6 plus(1, 2, 3); // 6 |
function plus(x) { plus.result = x; plus.valueOf = function () { return plus.result; }; return plus; function plus(x) { plus.result += x; return plus; } } alert(plus(1)(2)(3) == 6); Вот только зачем..:) |
|
Часовой пояс GMT +3, время: 07:42. |