Задачка на 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, время: 09:39. |