【问题标题】:Question regarding static class under namespace关于命名空间下的静态类的问题
【发布时间】:2011-10-05 08:36:48
【问题描述】:

我的 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');

上面的输出将是一个带有消息测试的警告框。我有一个问题,这是创建静态类和调用上述方法的好方法吗?有没有其他方法可以熟练地写出来?

【问题讨论】:

    标签: javascript jquery class namespaces


    【解决方案1】:

    您可以通过以下方式获得相同的功能:

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

    【讨论】:

    • 这不是真的。在这里使用你的模式不会关闭内部方法,因此它们可以从任何地方访问。
    • 你说得对。不过,我只想说一下我的模式:它是可读的:)
    猜你喜欢
    • 1970-01-01
    • 2011-12-09
    • 2011-03-27
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    相关资源
    最近更新 更多