Вопрос относительно статического класса в пространстве имен - PullRequest
4 голосов
/ 14 июля 2011

У меня есть пространство имен в моем коде JavaScript "MyNameSpace".Я создаю статический класс JavaScript "MyChildStaticClass" в нем.Я использую Модульный образец.Ниже приведен мой код:

if (typeof MyNameSpace == 'undefined' || !MyNameSpace) {

    var MyNameSpace = {};
}

    var MyNameSpace = (function(MyNameSpace) {

        MyNameSpace.MyChildStaticClass = (function() {
            var myobject;
            myobject = { 
                x:function(str) {
                    alert(str);
                }
            };

            return myobject;
        })();
        return MyNameSpace;
    } (MyNameSpace || {}));

Приведенный выше код будет использоваться следующим образом:

MyNameSpace.MyChildStaticClass.x('test');

, а на выходе выше будет окно предупреждения с проверкой сообщения.У меня есть вопрос, что это хороший способ создания статического класса и вызова методов, как указано выше?Есть ли другие способы написать это умело?

1 Ответ

1 голос
/ 14 июля 2011

Вы получите ту же функциональность, выполнив:

var MyNameSpace = {};
MyNameSpace.MyChildStaticClass = {
    x : function(str) {
        alert(str);
    }
}
...