JavaScript несколько пространств имен - PullRequest
4 голосов
/ 11 августа 2010

У меня есть большой файл js, который я хочу разбить на несколько пространств имен.

  1. Это хороший / плохой подход против хранения всего в одном пространстве имен?

  2. В NAMESPACE_FIRST как мне вызвать построение карты?

    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 голос
/ 11 августа 2010

Хороший вопрос!

Во-первых, ваш 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, у меня нет реального мнения в любом случае.

...