⊗jsPmMCPP 499 of 505 menu

Passagem de parâmetros para um módulo através de closures em JavaScript

É considerada uma boa prática não embutir valores diretamente no módulo, mas passá-los como parâmetro do próprio módulo (ou seja, como parâmetro da função de invocação imediata):

;(function(arg1, arg2) { // os parâmetros são atribuídos às variáveis })(1, 2); // passamos alguns parâmetros

Vamos ver um exemplo. Suponha que temos uma div com um número e um botão:

<div id="div">3</div> <button id="btn">clique aqui</button>

Suponha também que temos um determinado módulo:

;(function() { let div = document.querySelector('#div'); let btn = document.querySelector('#btn'); function func(num) { return num * num; } btn.addEventListener('click', function() { div.textContent = func(div.textContent); }); })();

Como você pode ver, os seletores dos nossos elementos estão rigidamente embutidos no código do módulo. Uma solução mais elegante seria passá-los como parâmetros do módulo - assim, no futuro, poderemos alterá-los facilmente. Vamos corrigir nosso módulo:

;(function(selector1, selector2) { let div = document.querySelector(selector1); let btn = document.querySelector(selector2); function func(num) { return num * num; } btn.addEventListener('click', function() { div.textContent = func(div.textContent); }); })('#div', '#btn');

Dado um botão e três inputs, onde números são inseridos. Ao clicar no botão, exiba no console a soma dos números inseridos. Implemente a tarefa usando um módulo.

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