Кроме того, если у вас есть много JS-файлов, каждый из которых добавляет «пространство имен» или Object в пакет верхнего уровня, вы можете делать такие вещи:
ModuleA.js
// if Modules is null, create a new object, else use the currently defined instance
var Modules = Modules || {};
Modules.A = {};
// sample instance variable
Modules.A.instanceVar;
// sample function
Modules.A.myFunc = function(param1, param2) {
// do something
}
ModuleB.js
// if Modules is null, create a new object, else use the currently defined instance
var Modules = Modules || {};
Modules.B = {};
// sample instance variable
Modules.B.instanceVar;
// sample function
Modules.B.myFunc = function(param1, param2) {
// do something
}
Тогда вы, конечно, можете просто позвонить им, как вам нужно Modules.A.myFunc()
или Modules.B.myFunc()
или Modules.B.instnaceVar = 20;
.Таким образом, вы можете инкапсулировать функции, а также переменные.
Для моего кода я хотел бы иметь корневой объект (т.е.), а затем добавить к нему «классы» (объекты), чтобы у всех был красивый «пакет», например"," ООП "структура к нему.