Существует ли простой способ передачи всех аргументов из одной функции в другую и отправки this
также.
Я пробовал это: http://jsfiddle.net/v92Xr/
var f1 = function() {
f2.call(this, arguments);
};
var f2 = function() {
console.log(arguments);
};
f1("abc", "def", "hij");
но это оставляет мне все аргументы из f1 сложенными в аргументы f2 0:
f2->arguments[0] == f1->arguments
Хорошо, и когда я вместо этого запускаю метод apply
, он работает: http://jsfiddle.net/v92Xr/1/
var f1 = function() {
f2.apply(this, arguments);
};
var f2 = function() {
console.log(arguments);
};
f1("abc", "def", "hij");
Так может кто-нибудь сказать, в чем разница между call
и apply
?