2016-06-22 8 views
1

対、、新しいA(の間に違いがある)新しいA

function A() 
{ 
    .... 
    console.log(1); 
    this.a = 1; 
} 

私は

var b = new A(); 

を行う場合、BはAのプロパティを継承し、

b.a == 1; //true 

しかし、私は

var c = new A; 
をすれば

は再びAのプロパティを継承C、および

c.a == 1; //true 

new A()new Aの間に違いはありますか?

+2

いいえ、それらは同じです。 'new'は呼び出しparenをコードしなくても関数を呼び出します。 – dandavis

+0

@dandavisありがとう、あなたはこれが言及されている仕様に向けて私を指摘できますか? – gurvinder372

+0

"javascriptのコンストラクタのカッコ" - > [new MyObject();新しいMyObjectに対;](http://stackoverflow.com/questions/3034941/new-myobject-vs-new-myobject) – GolezTrol

答えて

1

new operatornew constructor[([arguments])]):

new Fooには引数リストが 指定されていない場合、fooは

+1

おかげで、何とかconstructor' ''後に[ '気づいていなかった:) – gurvinder372

1

新しいA()を呼び出し、引数なしで呼び出され、すなわちnew Foo()に相当します。 あなたが実際にあなたが通過する任意の引数を持っていないない限り、diffがありません うーん...自動的に実行TYM時に作成されている値を初期化するために、空のコンストラクタを呼び出します。どちらも内部的に空のコンストラクタを呼び出しているためです。

関連する問題