JavaScript多个命名空间

4

我有一个很大的js文件,希望将其分为多个命名空间。

  1. Is this a good/bad approach vs keeping everything in one namespace?

  2. In NAMESPACE_FIRST how do I call map build?

    var NAMESPACE_FIRST = {
        init:function() {
            alert("onload functions");
        },
        this.map:function() {
            this.length = 0;
        },
        this.map.prototype.build:function(){
            return this.length;
        }
    };
    
    var NAMESPACE_SECOND = {
        upload:function() {
              //do something
        },
        delete:function() {
              //do something
        }
    };
    
    $(function () {
        NAMESPACE_FIRST.init();
    });
    
1个回答

1

好问题!

首先,你的JavaScript有一点错误。为了实现我认为你想要的效果,你的第一个命名空间应该像这样:

var NAMESPACE_FIRST = {

    init: function() {
        alert("onload functions");
    },
    map: function() {
        this.length = 0;

        NAMESPACE_FIRST.map.prototype.build = function() {
            alert("1");
            return this.length;
        }
    }
}

所以,回答问题2,你的onready将会是类似以下代码:

$(function () {
    NAMESPACE_FIRST.init();

    var obj = new NAMESPACE_FIRST.map();
    obj.build();
}

关于问题1,我没有真正的意见。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接