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);