关于命名空间下的静态类的问题
Posted
技术标签:
【中文标题】关于命名空间下的静态类的问题【英文标题】: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');
上面的输出将是一个带有消息测试的警告框。我有一个问题,这是创建静态类和调用上述方法的好方法吗?有没有其他方法可以熟练地写出来?
【问题讨论】:
【参考方案1】:您可以通过以下方式获得相同的功能:
var MyNameSpace = ;
MyNameSpace.MyChildStaticClass =
x : function(str)
alert(str);
【讨论】:
这不是真的。在这里使用你的模式不会关闭内部方法,因此它们可以从任何地方访问。 你说得对。不过,我只想说一下我的模式:它是可读的:)以上是关于关于命名空间下的静态类的问题的主要内容,如果未能解决你的问题,请参考以下文章