2

はsilution新しいFと新しいF()の間には違いがありますか?

var myInstance = new F; 

var myInstance = new F(); 

の間で何が違うのがある私に言うことができる

function F(){}; //This is a Constructor function 

を考えてみて?新しいキーワードexecuteは、それに続くどのようなものでも、直ちに関数を実行します。

+0

http://stackoverflow.com/questions/3034941/new-myobject-vs-new-myobject – David

答えて

5

違いはありません。 Mozilla Docsから:

new constructor[([arguments])] 

括弧は角括弧内にある、それは彼らがオプションであることを意味します。

0

文法を簡略化するために引数が渡されない場合、paranthesisは省略できますが、実際的な違いはありません。

JSLintなどの一部のバリデータは、引数に関係なく常にコンストラクタ関数を呼び出すために同じ構文を使用することにより一貫性があると考えられるため、警告を出力します。あなたはこの怠惰な習慣を身に取得する場合

この同様の例は非常に悪いだろう:

var one = myFunc; 
var two = myFunc(); 

これらは二つの異なる変数であり、1は、関数の参照であり、他には、関数の戻り値です。

関連する問題