Экспорти объект дар модулҳо бо истифода аз ҳалқаҳои беруна дар JavaScript
Фарз кунем, ки мо модули зеринро дорем:
;(function() {
function func1() {
alert('module funcion');
}
function func2() {
alert('module funcion');
}
function func3() {
alert('module funcion');
}
})();
Фарз кунем, ки мо мехоҳем ҳамаи се функсияро берун экспорт кунем. Дар ин ҳолат, то ки аз беруни модул номҳои иловагии функсияҳо зоҳир нашаван, беҳтар аст, ки ҳамаи функсияҳоро дар як объект сабт намоем ва ин объектро экспорт кунем:
;(function() {
function func1() {
alert('module funcion');
}
function func2() {
alert('module funcion');
}
function func3() {
alert('module funcion');
}
window.module = {func1: func1, func2: func2, func3: func3};
})();
Чунон ки номҳои калидҳо ва тағирёбандаҳо баробар мебошанд, пас объект бо функсияҳоро метавон содда кард:
;(function() {
function func1() {
alert('module funcion');
}
function func2() {
alert('module funcion');
}
function func3() {
alert('module funcion');
}
window.module = {func1, func2, func3};
})();
Метавон бо роҳи дигар ҳам рафт. Мо функсияҳоро ҳангоми тавсифи функсияҳо фавран ба объект сабт мекунем, ба ин шакл:
;(function() {
let module = {};
module.func1 = function() {
alert('module funcion');
}
module.func2 = function() {
alert('module funcion');
}
module.func3 = function() {
alert('module funcion');
}
window.module = module;
})();
Модули зерин дода шудааст:
;(function() {
let str1 = 'module variable';
let str2 = 'module variable';
let str3 = 'module variable';
function func1() {
alert('module funcion');
}
function func2() {
alert('module funcion');
}
function func3() {
alert('module funcion');
}
function func4() {
alert('module funcion');
}
function func5() {
alert('module funcion');
}
})();
Объектеро бо панҷ функсияи аввал ва ду тағирёбандаи аввал берун экспорт кунед.