en.javascript.info/1-js/6-objects-more/6-call-apply/2-apply-function-skip-first-argument/solution.md
2015-03-10 12:36:58 +03:00

28 lines
477 B
Markdown

```js
//+ run
function sum() {
return [].reduce.call(arguments, function(a, b) {
return a + b;
});
}
function mul() {
return [].reduce.call(arguments, function(a, b) {
return a * b;
});
}
*!*
function applyAll(func) {
return func.apply(this, [].slice.call(arguments, 1));
}
*/!*
alert( applyAll(sum, 1, 2, 3) ); // 6
alert( applyAll(mul, 2, 3, 4) ); // 24
alert( applyAll(Math.max, 2, -2, 3) ); // 3
alert( applyAll(Math.min, 2, -2, 3) ); // -2
```