Замыкания в js
Добрый день. Разбираюсь в замыканиях, вот хочу написать функцию, которая при каждом вызове складывает переданные данные. То есть в итоге должно получиться: 14, параметров может быть не 4, а более.
Для 2 чисел работает, а для 3 и более - не получается. Подскажите в чем промах?
function func(number) {
var result = number;
var res = function(num) {
return result = result + num;
};
return res;
}
var result = func(2)(3)(4)(5);
console.log(result); // 14
|
var foo = (function() {
var sum = 0;
function bar() {
sum += arguments[ 0 ] || 0;
return bar;
}
bar.toString = bar.valueOf = function() {
return sum;
};
return bar;
}());
alert( foo( 1 )( 2 )( 3 )( 4 )( 5 ) );
|
Спасибо большое!
|
| Часовой пояс GMT +3, время: 05:14. |