小编Joh*_*lak的帖子

带有function-prototype的Javascript名称空间声明

我知道,这经常被讨论.但在寻找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".

我知道,这是装饰性的,但我认为必须有一种更好的方法来声明包含类和原型函数的"命名空间".

javascript namespaces class function-prototypes

18
推荐指数
1
解决办法
1万
查看次数