Так что теперь у меня есть 3 файла JavaScript. item.js, items.js, main.js. Их структура похожа

var item = (function(){
        //some functions inside and return statement
})();

same goes for main and items.
now the hierarchy of the files are, as I understood,
window.item, window.items, window.main
but I want to change it to 

window.todo.items
window.todo.item
window.todo.main

Я много искал в пространствах имен, но не смог найти ответ. Любые предложения будут оценены. Спасибо

0
Avinash 29 Авг 2017 в 09:27

3 ответа

Лучший ответ

Прежде всего: в JavaScript нет пространств имен. Вы можете несколько имитировать пространства имен, используя объекты.

Сначала вы должны убедиться, что ваш todo объект существует. (Вы не можете массово создавать свойства)

window.todo = {};

Затем вы можете добавить свойства к этому todo объекту:

window.todo.item = (function () { ... })();
// or
window.todo.item = item;

Вы также можете инициализировать свойства при создании объекта todo:

window.todo = {
    item: (function { ... })()
};
// or
window.todo = {
    item: item
};
0
Andreas Linnert 29 Авг 2017 в 06:39

Ну, во-первых, вам нужно определить задачу

window.todo = {};

Затем вам нужно добавить объект каждого файла к нему

window.todo.item = (function(){
    //some functions inside and return statement
})();
1
EKW 29 Авг 2017 в 06:35

В основном js зависит от приоритета файла js . поэтому убедитесь, что дочерний файл не зависит от указанного выше файла,

0
Kunvar Singh 29 Авг 2017 в 06:37