iwtraining

call()

O método call() permite definirmos o escopo em que determinada função deverá ser executada.

var imagem = 'foto.png';
var endereco = { link : 'iwtraining.com.br' };
function minhaFuncao(){
    console.log(this.link);
}
minhaFuncao.call(endereco);

No exemplo acima, chamamos minhaFuncao.call(), e assim definimos, no argumento, o que o “this” será dentro da função.

Passando parâmetros

No exemplo anterior não fizemos uso de parâmetros, apenas do “this”. Mas o método call pode receber a partir do segundo parâmeto (o primeiro sempre será o escopo que será atribuído ao this) os parâmetros que serão passados para a função.

var imagem = 'foto.png';
var endereco = { link : 'iwtraining.com.br' };
function minhaFuncao(parametro1, parametro2){
    console.log(this.link + ' / ' + parametro1 + ' / ' + parametro2);
}
minhaFuncao('estudando', 'javascript');
minhaFuncao.call(endereco, 'estudando', 'javascript');

apply()

O método apply() tem praticamente o mesmo funcionamento do call(), com uma diferença na forma que os parâmetros são tratados. Neste caso, o primeiro parâmetro continua sendo o escopo, e o segundo parâmetro, do tipo array, deverá conter todos os parâmetros que serão enviados para a função.

var imagem = 'foto.png';
var endereco = { link : 'iwtraining.com.br' };
function minhaFuncao(parametro1, parametro2){
    console.log(this.link + ' / ' + parametro1 + ' / ' + parametro2);
}
minhaFuncao('estudando', 'javascript');
minhaFuncao.apply(endereco, ['estudando', 'javascript']);

Está com duvidas?

Aluno iwtraining tem acesso a um fórum exclusivo para discutir com os instrutores e outros alunos. Acesse agora mesmo!

Share this article

Em seus 12 anos de experiência, tanto em design como em desenvolvimento, trabalhou em diversos projetos, muitos de grande porte, para clientes como Banco do Nordeste, Sebrae, Anna Pegova, Grupo Deib Otoch, dentre outros. Como designer, trabalha com o Adobe Photoshop desde a versão 3.0, além do Illustrator, sendo certificado pela Adobe (ACE e ACI) nestes softwares. Como desenvolvedor, foca seus esforços atualmente no ActionScript 3.0 (Plataforma Flash) e Objective-C (iOS). Ministra, desde 2005, treinamentos na @iwtraining para estudantes e profissionais, além de grandes empresas como Cagece, TRE, TRT, Esmaltec, Grupo Edson Queiroz, Sebrae, Senac, Correios.

Posts Relacionados

Deixe um comentário