javascript中“new Class”和“new Class()”之间的区别是什么?

时间:2012-11-14 09:23:08

标签: javascript


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

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

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

两者都在控制台中打印'5'。两种方式之间有什么区别(除了包含构造函数的参数)?

2 个答案:

答案 0 :(得分:4)

括号是可选的 - 如果您没有要传递的构造函数参数,则可以省略它们。

奇怪的是,由于自动分号插入(sourcemore),分号(有时)也是可选的。这引发了今年早些时候的冗长辩论,并引发了Douglas Crockford(JSON / JSLint发明家,JS大师)的回应。

答案 1 :(得分:1)

根本没有任何区别。

如果没有参数,并且有new,则括号是可选的。