1

function ClassA(){
  this.value = 5;
}

var obj1 = new ClassA;
var obj2 = new ClassA();

console.log(obj1.value);
console.log(obj2.value);

どちらもコンソールに「5」を出力します。両方の方法の違いは何ですか (コンストラクターの引数を含めること以外)?

4

2 に答える 2

4

括弧は省略可能です。渡すコンストラクター パラメーターがない場合は、省略できます。

奇妙なことに、自動セミコロン挿入 ( sourcemore )のおかげで、セミコロンも (場合によっては) オプションです。これは今年初めに長い議論を巻き起こし、Douglas Crockford (JSON/JSLint の発明者、JS の第一人者) からの反応を促しました。

于 2012-11-14T09:24:18.180 に答える
1

まったく違いはありません。

引数がなく、 があるnew場合、括弧はオプションです。

于 2012-11-14T09:24:28.790 に答える