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中使用的一种流行约定。