如何在javascript中创建顶级命名空间

如何在javascript中创建顶级命名空间,javascript,web,Javascript,Web,现在我有3个javascript文件。item.js,items.js,main.js。它们的结构就像 变量项=函数{ //语句和返回语句中的一些函数 }; 主要和主要项目也是如此。 据我所知,文件的层次结构是, window.item,window.items,window.main 但我想把它改成 window.todo.items window.todo.item window.todo.main首先,您需要定义todo window.todo = {}; 然后需要将每个文件的对象添加

现在我有3个javascript文件。item.js,items.js,main.js。它们的结构就像

变量项=函数{ //语句和返回语句中的一些函数 }; 主要和主要项目也是如此。 据我所知,文件的层次结构是, window.item,window.items,window.main 但我想把它改成 window.todo.items window.todo.item
window.todo.main首先,您需要定义todo

window.todo = {};
然后需要将每个文件的对象添加到其中

window.todo.item = (function(){
    //some functions inside and return statement
})();

js基本上取决于js文件的优先级,
因此,请确保Decent文件不依赖于上述文件,

首先:JavaScript中没有名称空间。您可以使用对象模拟名称空间

首先,您必须确保todo对象确实存在。不能批量创建属性

window.todo = {};
然后,可以向该todo对象添加属性:

也可以在创建todo对象时初始化属性:


window.todo={item:item};声明window.todo={};使todo为空对象,然后声明window.todo.item=function{};这里的项是todo对象的属性,与其他2个文件相同
window.todo.item = (function () { ... })();
// or
window.todo.item = item;
window.todo = {
    item: (function { ... })()
};
// or
window.todo = {
    item: item
};