Существует два метода, определенные для всех функций в JavaScript, call()
, и apply()
. Синтаксис функций похож:
call( /* object */, /* arguments... */ );
apply(/* object */, /* arguments[] */);
то, Что делают эти функции, вызывают функцию, на которую они были вызваны, присвоив значение объект параметр к это .
var myFunction = function(){
alert(this.foo_variable);
}
myFunction.call( document.body );
Я думаю, что Вы ищете call
:
myFunction.call(obj, arg1, arg2, ...);
Это звонит myFunction
с this
набор к obj
.
существует также немного отличающийся метод apply
, который берет параметры функции в качестве массива:
myFunction.apply(obj, [arg1, arg2, ...]);