⊗jsPmFNFAP 242 of 505 menu

Passando funções como parâmetros em JavaScript

Funções, assim como números, strings e arrays, podem ser passadas como parâmetros para outras funções.

Vamos examinar mais detalhadamente com um exemplo prático. Suponha que temos uma função test que recebe dois parâmetros:

test(parâmetro1, parâmetro2);

Vamos passar para o primeiro parâmetro da função test uma função anônima que retorna 1, e para o segundo parâmetro - uma função anônima que retorna 2:

test( function() {return 1;}, function() {return 2;} );

O código acima ainda não funciona, pois não criamos a própria função. Vamos fazer isso:

function test(func1, func2) { }

Ao definir a função, especificamos dois parâmetros - func1 e func2. Esses parâmetros não sabem o que será passado para eles. Podemos, por exemplo, passar números:

test(1, 2); // chamamos a função function test(func1, func2) { console.log(func1); // exibirá 1 console.log(func2); // exibirá 2 }

Ou podemos passar funções:

test( function() {return 1;}, // primeiro parâmetro function() {return 2;} // segundo parâmetro ); function test(func1, func2) { console.log(func1); // exibirá 'function() {return 1;}' console.log(func2); // exibirá 'function() {return 2;}' }

Como você pode ver, agora o código-fonte das funções é exibido no console. Vamos fazer com que ele exiba seus resultados. Para isso, adicionaremos parênteses às funções:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() ); // exibirá 1 console.log( func2() ); // exibirá 2 }

Vamos exibir no console a soma dos resultados da primeira e da segunda função:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() + func2() ); // exibirá 3 }

Crie uma função test que receba 3 funções como parâmetros. Passe para ela, como primeiro parâmetro, uma função que retorna 1, como segundo - uma função que retorna 2, e como terceiro - uma função que retorna 3. Exiba no console a soma dos resultados das funções.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar