组织javascript应用程序的最佳方法

组织javascript应用程序的最佳方法,javascript,Javascript,我一直在尝试一些不同的方法来组织javascript应用程序中的代码,我想知道哪种方法最合适 第一个例子: var Application = { init: function() { //Some code Calculate(); }, Calculate: function() { //Some code } }; 第二个例子: (function() { function init() {

我一直在尝试一些不同的方法来组织javascript应用程序中的代码,我想知道哪种方法最合适

第一个例子:

var Application = {

    init: function() {
        //Some code
        Calculate();
    },

    Calculate: function() {
        //Some code
    }
};
第二个例子:

(function() {

    function init() {
        //Some code
        Calculate();
    }

    function Calculate() {
        //Some code
    }

})();
(function() {

    var init = function() {
        //Some code
        Calculate();
    };

    var Calculate = function() {
        //Some code
    };

})();
第三个例子:

(function() {

    function init() {
        //Some code
        Calculate();
    }

    function Calculate() {
        //Some code
    }

})();
(function() {

    var init = function() {
        //Some code
        Calculate();
    };

    var Calculate = function() {
        //Some code
    };

})();

还是其他更受欢迎的方式?我对此感到非常困惑。提前谢谢

答案是,毫无疑问,这要视情况而定。你的申请有多大?您是否一直需要所有模块?您的应用程序需要具有多大的可扩展性和可重用性?这些并不是具体的JavaScript问题,而是架构问题,虽然学习JavaScript基础知识相对容易,但要成为一名优秀的软件开发架构师需要很多年的时间。虽然你问这些问题很好

我鼓励您深入研究编程模式。学习模式是学习根据给定的应用程序以正确的方式构造应用程序

我可以说,第一个示例和第二个示例的组合是开始立即调用函数表达式包装并返回对象文本的好地方。这通过闭包提供了一定程度的私有范围,称为模块模式。您将在几乎所有主要的JS应用程序和库中看到这种模式,因为它的多功能性和优雅性


为了进一步了解JavaScript模式,我强烈推荐Addy Osmani的学习JavaScript设计模式。你可以在这里免费阅读:

答案是,毫无疑问,视情况而定。你的申请有多大?您是否一直需要所有模块?您的应用程序需要具有多大的可扩展性和可重用性?这些并不是具体的JavaScript问题,而是架构问题,虽然学习JavaScript基础知识相对容易,但要成为一名优秀的软件开发架构师需要很多年的时间。虽然你问这些问题很好

我鼓励您深入研究编程模式。学习模式是学习根据给定的应用程序以正确的方式构造应用程序

我可以说,第一个示例和第二个示例的组合是开始立即调用函数表达式包装并返回对象文本的好地方。这通过闭包提供了一定程度的私有范围,称为模块模式。您将在几乎所有主要的JS应用程序和库中看到这种模式,因为它的多功能性和优雅性


为了进一步了解JavaScript模式,我强烈推荐Addy Osmani的学习JavaScript设计模式。您可以在这里免费阅读:

我首先使用第二个示例,但最终用我的许多自定义变量和函数扰乱了全局上下文。找到一个变量就像大海捞针。现在我使用第一个例子。我只是在必要的时候才把变量放在全局上下文中,而且只是暂时的。我首先使用了第二个示例,但最终用我的许多自定义变量和函数把全局上下文弄乱了。找到一个变量就像大海捞针。现在我使用第一个例子。我只在必要时才将变量放在全局上下文中,而且只是暂时的。