Нужна помощь донатом
для написания учебников Kotlin, Java, C++, C#, Go, Rust, Dart
подробности по ссылке
⊗jsPmMCPP 499 of 505 menu
◀ ▶

Transmiterea parametrilor în modul prin închideri în JavaScript

O bună practică este să nu fixezi anumite valori în modul, ci să le transmiți ca parametru modulului însuși (adică ca parametru al funcției care se apelează imediat):

;(function(arg1, arg2) { // parametrii ajung în variabile })(1, 2); // transmitem niște parametri

Să vedem un exemplu. Să presupunem că avem un div cu un număr și un buton:

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

Să presupunem că avem, de asemenea, un anumit 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); }); })();

După cum vedeți, selectorii elementelor noastre sunt fixați rigid în codul modulului. O soluție mai bună ar fi să îi transmiți ca parametri ai modulului - astfel, pe viitor, le vom putea schimba cu ușurință. Să corectăm modulul nostru:

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

Este dat un buton și trei câmpuri de introducere, în care se introduc numere. La apăsarea butonului, afișați în consolă suma numerelor introduse. Implementați sarcina cu ajutorul unui modul.

← →
↑
Română▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge