我正在使用以下代码创建一个类的实例:
test = new function(){
...
}
但是,base没有原型,因为它是从匿名函数创建的(我猜这是原因?)。这使我无法为该实例创建任何公共函数。
你可以说我可以通过简单地做到这一点来解决这个问题:
function testClass(){
...
}
test = new testClass()
然后将公共函数附加到testClass。 但这迫使我做了不必要的命名空间。特别是,如果我将我的类命名为this.is.a.space,那么我将把我的实例称为什么? this.is.a.spaceInstance? this.is.a.space.Instance?
这种事情是否有惯例?
答案 0 :(得分:0)
您仍然可以对匿名函数进行编码,并使用.__proto__
来访问其原型,如下所示:
test = new function(){
...
};
test.__proto__.foo = function() { return 1 };
但是,您只有一个实例,因此您也可以使用:
test.foo = function() { return 1 };
我不完全确定你究竟想要完成什么,但至于命名,通常将类命名为SomeClass
和其他变量(如实例)沿{{{ 1}}。 JavaScript区分大小写,因此您可以使用someVariable
/ TestClass
。