chamar e aplicar em JavaScript

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