Uitvoer van 'n objek in modules deur sluitings in JavaScript
Gestel ons het die volgende module:
;(function() {
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
})();
Gestel ons wil al drie funksies na buite uitvoer. In hierdie geval, om oorbodige funksiename buite die module te vermy, is dit beter om al die funksies in een objek te plaas en daardie objek uit te voer:
;(function() {
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
window.module = {func1: func1, func2: func2, func3: func3};
})();
Aangesien die sleutelname en veranderlikename ooreenstem, kan die objek met funksies vereenvoudig word:
;(function() {
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
window.module = {func1, func2, func3};
})();
Ons kan ook 'n ander weg volg. Ons sal die funksies dadelik in die objek plaas wanneer die funksie beskryf word, soos volg:
;(function() {
let module = {};
module.func1 = function() {
alert('module function');
}
module.func2 = function() {
alert('module function');
}
module.func3 = function() {
alert('module function');
}
window.module = module;
})();
Gegee die volgende module:
;(function() {
let str1 = 'module variable';
let str2 = 'module variable';
let str3 = 'module variable';
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
function func4() {
alert('module function');
}
function func5() {
alert('module function');
}
})();
Voer na buite 'n objek uit met die eerste vyf funksies en die eerste twee veranderlikes.