O método call chama uma função com um determinado valor <i> this </i> e argumentos fornecidos individualmente.
O método apply chama uma função com um determinado valor <I> this </I> e argumentos fornecidos como uma matriz.
var obj = {
name: "obj"
doSomething : function(x,y){
var total = x + y;
alert(this.name + " = " + total);
}
}
var foo = { name : "foo" };
var bar = { name : "bar" };
obj.doSomething.call(bar,3,6); // alerts bar = 9
obj.doSomething.apply(foo,[9,3]); // alerts foo = 12