ობიექტის ექსპორტი მოდულებში ჩაკეტვების მეშვეობით 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');
}
})();
გაიტანეთ გარეთ ობიექტი პირველი ხუთი ფუნქციით და პირველი ორი ცვლადით.