Function.prototype.call

3 respostas
K

O que seria essa função no javaScript?

3 Respostas

Mikhas

É uma função que chama a função:

function alerta(text){
alert(text);
}


alerta.call(null /*contexto*/, "usando call" /*args*/);
K

existe alguma vatagem nisso?

Mikhas

Não existe uma vantagem… mas é uma feature util quando se esta desenvolvendo alguma funcionalidade, framework, proxy, etc.

Você usa essa função para alterar o scopo “this” de uma função:

var a = {location:"São Paulo"};
var b = {location:"Rio de Janeiro"};

function lugar(){
alert(this.location.toString());
}

lugar(); // exibe URL da pagina (this == window)
lugar.call(a,null); // exibe São Paulo
lugar.call(b,null); // exibe Rio de Janeiro
Criado 3 de setembro de 2012
Ultima resposta 3 de set. de 2012
Respostas 3
Participantes 2