⊗jsPmMCPP 499 of 505 menu

Att passera parametrar till en modul genom closures i JavaScript

Det anses vara god praxis att inte hårdkoda värden i en modul, utan att skicka dem som en parameter till modulen (det vill säga som en parameter till den funktion som anropas omedelbart):

;(function(arg1, arg2) { // parametrar hamnar i variabler })(1, 2); // skickar några parametrar

Låt oss titta på ett exempel. Låt oss säga att vi har en div med ett nummer och en knapp:

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

Låt oss också säga att vi har en modul:

;(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); }); })();

Som du kan se är selektorerna för våra element hårdkodade i modulens kod. En bättre lösning vore att skicka dem som parametrar till modulen - på så sätt kan vi enkelt ändra dem i framtiden. Låt oss rätta till vår modul:

;(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');

Det finns en knapp och tre inputfält där nummer matas in. Vid klick på knappen, skriv summan av de inmatade numren till konsolen. Implementera uppgiften med hjälp av en modul.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa