Function.call()

Function.call() - викликає функцію з вказаним значенням this і заданими параметрами (аргументами).

Синтаксис:

function.call(thisObj[, par1[,par2, ...]])

Параметри:

function - назва функції.

thisObj - значення this для виконання функції.

par1, par2, ... - параметри які передаються у функцію.

Опис:

call() який дозволяє викликати функцію з прив'язкою this до вказаного об'єкту thisObj.

Метод call подібний на apply за винятком типу параметрів.

Якщо необхідно не викликати а створити нову функцію з прив'язкою this і виконати її в подальшому використовуйте метод bind().

Приклад:

function test(x,y,z){ alert(this); } test(1,2,3); //[window] test.call(0,1,2,3); //Number test.call(String(),1,2,3); //String var obj1=new Object({top:4}); var obj2=new Object({top:12}); function test(){ alert(this.top); } test.call(obj1); test.call(obj2); var obj1=new Object({top:4, test: function(){alert(this.top);}}); var obj2=new Object({top:12}); obj1.test() obj1.test.call(obj2);