⊗jsPmMCPP 499 of 505 menu

JavaScript에서 클로저를 통한 모듈에 매개변수 전달

모듈 내부에 값을 하드코딩하지 않고, 모듈 자체의 매개변수(즉, 즉시 실행 함수의 매개변수)로 전달하는 것이 좋은 관행입니다:

;(function(arg1, arg2) { // 매개변수가 변수로 들어갑니다 })(1, 2); // 몇 가지 매개변수를 전달합니다

예제를 통해 살펴보겠습니다. 숫자가 있는 div와 버튼이 있다고 가정해 보겠습니다:

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

또한 특정 모듈이 있다고 가정해 보겠습니다:

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

보시다시피, 요소들의 선택자가 모듈 코드에 하드코딩되어 있습니다. 더 나은 해결책은 이들을 모듈의 매개변수로 전달하는 것입니다. 이렇게 하면 나중에 쉽게 변경할 수 있습니다. 우리 모듈을 수정해 보겠습니다:

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

버튼 하나와 숫자를 입력하는 세 개의 input이 주어져 있습니다. 버튼을 클릭하면 입력된 숫자들의 합을 콘솔에 출력하세요. 모듈을 사용하여 이 문제를 구현하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부