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

时间:2017-08-29 06:27:13

标签: javascript web

所以现在我有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

我在命名空间上搜索了很多但却找不到答案。任何建议将不胜感激。谢谢

3 个答案:

答案 0 :(得分:1)

好吧,首先你需要定义todo

window.todo = {};

然后你需要将每个文件的对象添加到它

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

答案 1 :(得分:0)

基本上js取决于js文件的优先级, 所以请确保,decendent文件没有依赖于上面的文件,

答案 2 :(得分:0)

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

首先,您必须确保您的todo对象确实存在。 (您无法批量创建属性)

window.todo = {};

然后,您可以向该todo对象添加属性:

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

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

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