1
私は、次のコードを使用して、クラスのインスタンスを作成しています:名前空間クラスとインスタンスのjavascriptの規約?
test = new function(){
...
}
それは無名関数から作成されたためしかし、ベースはプロトタイプを持っていない(私はこれを推測している理由です?)。これにより、インスタンスのパブリック関数を作成することができなくなります。
あなたは、私は単に行うことによってこの問題を回避でき主張することができます:
function testClass(){
...
}
test = new testClass()
をして、TestClassをするパブリック関数を取り付けます。 しかし、これは私に不必要な名前空間を強制します。特に、私のクラスthis.is.a.spaceに名前を付けると、私は自分のインスタンスと何を呼びますか? this.is.a.spaceInstance? this.is.a.space.Instance?
このような種類のコンベンションはありますか?
test.foo = function() { return 1 };
Iを:あなたも、単に使用できるよう
test = new function(){
...
};
test.__proto__.foo = function() { return 1 };
ただし、インスタンスを1つだけ持っている:
ちょうどニックピック、あなたはクラスを作成していません。 JSにはクラスはありません。また、これは良い読書です:http://mckoss.com/jscript/object.htm – JohnP
あなたは** TestClass **やlower camel case ** testClass **のような上のラクダのケースであなたのクラスを作ることができます、あなたの質問を正しく理解していれば –
@Asad クラスとインスタンスの違いは実際には最初の文字の大文字小文字の違いですか?それは...デバッグ中に賢明でなく、実際にはエラーが起こりやすいようです。 –