⊗jsPmMCPP 499 of 505 menu

Meneruskan Parameter ke Modul melalui Closure di JavaScript

Merupakan praktik yang baik untuk tidak menanamkan nilai-nilai tertentu secara langsung ke dalam modul, melainkan meneruskannya sebagai parameter ke modul itu sendiri (yaitu sebagai parameter dari fungsi yang dipanggil secara langsung):

;(function(arg1, arg2) { // parameter masuk ke dalam variabel })(1, 2); // meneruskan beberapa parameter

Mari kita lihat sebuah contoh. Misalkan kita memiliki sebuah div dengan angka dan sebuah tombol:

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

Misalkan kita juga memiliki sebuah 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); }); })();

Seperti yang Anda lihat, selector elemen-elemen kita tertanam secara kaku dalam kode modul. Solusi yang lebih baik adalah dengan meneruskannya sebagai parameter modul - dengan begitu kita dapat dengan mudah mengubahnya di kemudian hari. Mari perbaiki modul kita:

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

Diberikan sebuah tombol dan tiga input, di mana angka dimasukkan ke dalamnya. Saat tombol ditekan, cetaklah jumlah dari angka-angka yang dimasukkan ke konsol. Implementasikan tugas ini menggunakan sebuah modul.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak