2

我一直在尝试一些不同的方法来组织我的 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
    };

})();

或者它是首选的其他方式?我对此感到非常困惑。提前致谢!

4

1 回答 1

4

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

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

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

要了解有关 JavaScript 模式的更多信息,我强烈推荐 Addy Osmani 的“学习 JavaScript 设计模式”。你可以在这里免费阅读:http: //addyosmani.com/resources/essentialjsdesignpatterns/book/

于 2012-09-15T01:04:20.233 回答