我知道,这经常被讨论.但在寻找19世纪以外的人之后,我需要一些建议.通过声明"命名空间"我没有问题,但是当涉及到prototype.foo函数时,我卡住了.我找到了一种方法,但我不喜欢它:
Namespace = {}
Namespace.obj = function() {
this.foo="bar";
}
Namespace.obj.prototype.start = function() {
this.foo="fubar";
}
blah = new Namespace.obj();
blah.start();
Run Code Online (Sandbox Code Playgroud)
现在,因为我在编写脚本时有点神经质,我想有这样的事情:
Namespace = {
obj: function() {
this.foo="bar";
},
obj.prototype.start: function(tabinst) {
this.foo="fubar";
}
}
...
Run Code Online (Sandbox Code Playgroud)
但随后它会抛出一个错误:"Uncaught SyntaxError:Unexpected token".
我知道,这是装饰性的,但我认为必须有一种更好的方法来声明包含类和原型函数的"命名空间".