【发布时间】:2011-10-31 13:24:54
【问题描述】:
我知道,这经常被讨论。但在像 19 世纪的人一样四处寻找之后,我需要一些建议。声明“命名空间”没有问题,但是当涉及到prototype.foo 函数时,我卡住了。我找到了一种方法,但我不喜欢它:
Namespace = {}
Namespace.obj = function() {
this.foo="bar";
}
Namespace.obj.prototype.start = function() {
this.foo="fubar";
}
blah = new Namespace.obj();
blah.start();
现在,由于我在编写脚本时有点神经质,所以我想要这样的东西:
Namespace = {
obj: function() {
this.foo="bar";
},
obj.prototype.start: function(tabinst) {
this.foo="fubar";
}
}
...
但随后会引发错误: "Uncaught SyntaxError: Unexpected token 。"
我知道,这是装饰性的,但我认为必须有更好的方法来声明包含类和原型函数的“命名空间”。
【问题讨论】:
标签: javascript class namespaces function-prototypes