嵌套 JS 命名空间

Nesting JS namespaces

本文关键字:命名空间 JS 嵌套      更新时间:2023-09-26

我正在尝试在JS中使用某种命名空间。

我想我可能有这样的东西:

var OuterObject = {
    var InnerObject = {
    settings: {
        numArticles: 5,
        articleList: $("#article-list"),
        moreButton: $("#more-button")
    },
    init: function() {
        s = this.settings;
        this.bindUIActions();
    },
    bindUIActions: function() {
        s.moreButton.on("click", function() {
            NewsWidget.getMoreArticles(s.numArticles);
        });
    },
    getMoreArticles: function(numToGet) {
        // $.ajax or something
        // using numToGet as param
    }
    };
};

怎么可能呢?

就像嵌套对象一样:

var OuterObject = {
    InnerObject: {
        settings: { ... }
        init: function() { ... }
    }
}

几篇关于命名空间和嵌套命名空间的好文章。

http://addyosmani.com/blog/essential-js-namespacing/

http://www.kenneth-truyers.net/2013/04/27/javascript-namespaces-and-modules/