javascript中命名空间类与实例的约定?
我正在使用以下代码创建类的实例:javascript中命名空间类与实例的约定?,javascript,class,namespaces,naming-conventions,instance,Javascript,Class,Namespaces,Naming Conventions,Instance,我正在使用以下代码创建类的实例: test = new function(){ ... } 但是,base没有原型,因为它是由匿名函数创建的。我猜这就是原因吧?。这使我无法为实例创建任何公共函数 你可能会说我可以通过简单地做以下事情来解决这个问题: function testClass(){ ... } test = new testClass() 然后将公共函数附加到testClass。 但这迫使我做不必要的名称空间。特别是,如果我将我的类命名为this
test = new function(){
...
}
但是,base没有原型,因为它是由匿名函数创建的。我猜这就是原因吧?。这使我无法为实例创建任何公共函数
你可能会说我可以通过简单地做以下事情来解决这个问题:
function testClass(){
...
}
test = new testClass()
然后将公共函数附加到testClass。
但这迫使我做不必要的名称空间。特别是,如果我将我的类命名为this.is.a.space,那么我将如何称呼我的实例?这是一个太空实例吗?这是一个空间实例吗
这类事情有约定吗?您仍然可以编写匿名函数并使用。\uuuu proto\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
test = new function(){
...
};
test.__proto__.foo = function() { return 1 };
但是,您只有一个实例,因此也可以使用:
test.foo = function() { return 1 };
我不完全确定您到底想实现什么,但是关于命名,通常会将类命名为SomeClass,而将其他变量命名为someVariable沿线的实例。JavaScript区分大小写,因此可以使用TestClass/TestClass。只是吹毛求疵,并不是在创建类。JS没有类。另外,这是一本很好的读物:如果我正确理解了您的问题,您可以将您的类设置为大写形式,例如,TestClass和instance设置为小写形式的TestClass。@Asad类和实例之间的差异真的与第一个字母的大小写一样小吗?这似乎是不明智的,而且在调试过程中很容易出错。JavaScript是区分大小写的,所以可以通过这种方式进行区分。@pimvdb是对的,这也是Java中使用的一种流行约定。