处理此命名空间JavaScript结构的最佳方法是什么?

时间:2015-03-11 11:41:27

标签: javascript architecture

我有一个对象作为名称空间,有三个主要对象。我把这个对象称为一次,然后它就会自行工作。

我的代码结构如下:

var Application = Application || {};
Application.Module1 = {
//Code with some functions
}

Application.Module2 = {
   //Code with some functions
}

Application.Module3 = {
   //Code with some functions
}

(function(){
    Application.Module1.Start();
})();

主要是模块之间相互作用。我想在Module1中使用Module2中的函数,例如:

Module2.randomFunction();

而不是:

Application.Module2.randomFunction();

但我认为这是一个坏主意

Application.Module1.Start.call(Application)

因为我还使用其他对象,比如jQuery。

您认为哪种方式正确?

1 个答案:

答案 0 :(得分:0)

你可以使用这样的模式 -

var Application = (function() {
    var Module1 = {
        function1 : function() {
            console.log("function1");
            Module2.function2();
        }
    };

    var Module2 = {
        function2 : function() {
            console.log("function2");
        }
    };

    var Module3 = {
        function3 : function() {
            console.log("function3");
        }
    };

    return {
        Module1: Module1,
        Module2: Module2,
        Module3: Module3
    }
})();

Application.Module1.function1();