【发布时间】:2011-06-22 11:25:52
【问题描述】:
我正在使用以下代码创建一个类的实例:
test = new function(){
...
}
但是,base 没有原型,因为它是从匿名函数创建的(我猜这就是原因?)。这使我无法为实例创建任何公共函数。
你可以说我可以通过简单地解决这个问题:
function testClass(){
...
}
test = new testClass()
然后将公共函数附加到 testClass。 但这迫使我做不必要的命名空间。特别是,如果我将我的类命名为 this.is.a.space,那么我将如何称呼我的实例?这是一个空间实例? this.is.a.space.Instance?
这类事情有约定吗?
【问题讨论】:
-
只是一个挑剔,你不是在创建一个类。 JS 没有类。另外,这是一本好书:mckoss.com/jscript/object.htm
-
如果我正确理解了您的问题,您可以将类设为大写字母,例如 TestClass,并将实例设为小写字母 testClass。
-
@Asad 类和实例之间的区别真的像首字母大写一样小吗?这似乎......在调试过程中不明智且非常容易出错。
-
JavaScript 区分大小写,因此可以通过这种方式进行区分。
-
@pimvdb 是对的,这也是 Java 中使用的流行约定。
标签: javascript class namespaces naming-conventions instance