Параметрлерді 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 берілген. Батырманы басқан кезде консольге енгізілген сандардың қосындысын шығарыңыз. Тапсырманы модуль көмегімен жүзеге асырыңыз.