我正在使用我之前编写的现有 JS 库,并尝试将其组织在一个公共(public)命名空间下......这是我尝试使用的技术示例:
var NameSpace = new function ()
{
var privateMember = [];
function privateMethod() {};
return
{
PublicMethod1 : function(arg, arg2)
{
// etc
},
PublicMethod2 : function ()
{
// etc
},
PublicMethod3 : function(arg, arg2)
{
// etc
}
};
}();
据我所知,这应该可以完美运行,但是我在这一行遇到语法错误:
PublicMethod1 : function(arg, arg2)
有人能看出这种技术有什么明显的问题吗?
最佳答案
var NameSpace= function ()
{
var privateMember = new Array();
function privateMethod() { };
return {
PublicMethod1 : function(arg, arg2)
{
// etc
},
PublicMethod2 : function ()
{
// etc
},
PublicMethod3 : function(arg, arg2)
{
// etc
}
};
}();
问题真的很棘手,return 和 { 显然应该在同一行上。 new [] 也无效,我也为你解决了这个问题。
关于Javascript Namespacing,语法错误在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/555031/