2

我正在建立一个全新的网站,并以一种对我来说似乎有意义的方式来构建我的 javascript。我创建了一个站点命名空间,以及一个封装这些小部件/功能的方法的小部件/功能“命名空间”。我已经对每个“命名空间”进行了限定,以便网站上的任何给定页面都可以调用某些(公共)方法来实例化小部件/功能。

这是我的 javascript 结构的示例:

var THESITE = THESITE || (function(){
    navigation = function(){
        var init = function(){
            // do navigation stuff
        }

        return {
            init : init
        }
    },

    widgets = {
         widget1 : (function(){
            var newWidget = function(){
                // do widget1 stuff
            }

            return {
                newWidget : newWidget
            }
         })(),
         widget2 : (function(){
            var newWidget = function(){
                // do widget2 stuff
            }

            return {
                newWidget : newWidget
            }
         })(),
         widget3 : (function(){
            var newWidget = function(){
                // do widget3 stuff
            }

            return {
                newWidget : newWidget
            }
         })();
    },

    init = function(){
        navigation.init();
    }

    return {
        init: init,
        navigation: navigation,
        widgets: widgets,
    }
})();

THESITE.init();

以及如何调用这些方法之一的示例:

THESITE.widgets.widget3.newWidget();

这种构建我的javascript的方式实用/常见吗?

4

1 回答 1

1

是的,我会说你的结构很常见。然而,对于一个较大的项目,将模块/小部件保存在单独的文件中并使用命名空间来确保不会发生全局范围内的冲突是可行的。有关构建代码的好方法的更多信息,请参阅@chris-allen 建议的线程。

于 2013-12-23T10:23:26.537 回答