⊗jsPmMCPP 499 of 505 menu

Předávání parametrů do modulu přes uzávěry v JavaScriptu

Dobrou praxí je nezakotvovat nějaké hodnoty přímo v modulu, ale předat je jako parametr modulu (tedy jako parametr okamžitě volané funkce):

;(function(arg1, arg2) { // parametry se uloží do proměnných })(1, 2); // předáváme nějaké parametry

Podívejme se na příklad. Předpokládejme, že máme prvek div s číslem a tlačítko:

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

Předpokládejme také, že máme nějaký 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); }); })();

Jak vidíte, selektory našich prvků jsou pevně zakotveny v kódu modulu. Lepším řešením by bylo předat je jako parametry modulu - tak je v budoucnu snadno změníme. Opravme náš 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');

Je dáno tlačítko a tři vstupní pole, do kterých se zadávají čísla. Po kliknutí na tlačítko vypište do konzole součet zadaných čísel. Implementujte úlohu pomocí modulu.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout