Փոփոխականների և ֆունկցիաների էքսպորտում մոդուլներում փակումների միջոցով JavaScript-ում
Երբեմն անհրաժեշտ է լինում, որ մոդուլի որոշ փոփոխականներ և ֆունկցիաներ հասանելի լինեն դրսից: Եկեք տեսնենք, թե ինչպես է դա արվում: Ենթադրենք ունենք հետևյալ մոդուլը:
;(function() {
let str = 'մոդուլի փոփոխական';
function func() {
alert('մոդուլի ֆունկցիա');
}
})();
Եկեք էքսպորտենք մեր func ֆունկցիան:
Դրա համար այն գրենք բրաուզերում ներկառուցված
window օբյեկտի հատկության մեջ.
;(function() {
let str = 'մոդուլի փոփոխական';
function func() {
alert('մոդուլի ֆունկցիա');
}
window.func = func;
})();
Այժմ մենք կարող ենք կանչել մեր ֆունկցիան մոդուլից դուրս.
;(function() {
let str = 'մոդուլի փոփոխական';
function func() {
alert('մոդուլի ֆունկցիա');
}
window.func = func;
})();
window.func(); // կարտադրի 'մոդուլի ֆունկցիա'
Միաժամանակ պարտադիր չէ կանչել ֆունկցիան
որպես window օբյեկտի հատկություն.
;(function() {
let str = 'մոդուլի փոփոխական';
function func() {
alert('մոդուլի ֆունկցիա');
}
window.func = func;
})();
func(); // կարտադրի 'մոդուլի ֆունկցիա'
Տրված է հետևյալ մոդուլը.
;(function() {
let str1 = 'մոդուլի փոփոխական';
let str2 = 'մոդուլի փոփոխական';
let str3 = 'մոդուլի փոփոխական';
function func1() {
alert('մոդուլի ֆունկցիա');
}
function func2() {
alert('մոդուլի ֆունկցիա');
}
function func3() {
alert('մոդուլի ֆունկցիա');
}
})();
Էքսպորտեք դրսին փոփոխականներից մեկը և ցանկացած երկու ֆունկցիա: