⊗jsPmMCPP 499 of 505 menu

Paso de parámetros a un módulo mediante closures en JavaScript

Se considera una buena práctica no codificar valores en el módulo, sino pasarlos como parámetro del propio módulo (es decir, como parámetro de la función invocada inmediatamente):

;(function(arg1, arg2) { // los parámetros se asignan a variables })(1, 2); // pasamos algunos parámetros

Veamos un ejemplo. Supongamos que tenemos un div con un número y un botón:

<div id="div">3</div> <button id="btn">click me</button>

Supongamos también que tenemos algún 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 puedes ver, los selectores de nuestros elementos están codificados de forma rígida en el módulo. Una solución más adecuada sería pasarlos como parámetros del módulo - así podremos cambiarlos fácilmente en el futuro. Corrijamos nuestro 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 un botón y tres inputs, en los que se introducen números. Al hacer clic en el botón, muestre en la consola la suma de los números introducidos. Implemente la tarea utilizando un módulo.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar