给定函数A,新A()与新A之间是否存在任何差异

时间:2016-06-22 06:57:38

标签: javascript function constructor

给定函数A,

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

如果我这样做

var b = new A();

然后b继承A和

的属性
b.a == 1; //true

但如果我这样做

var c = new A;

然后c再次继承A和

的属性
c.a == 1; //true

new A()new A之间是否存在差异?

2 个答案:

答案 0 :(得分:1)

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

  

new Foo相当于new Foo(),即如果没有参数列表   指定,Foo不带参数调用

答案 1 :(得分:1)

当你打电话给新的A(); 你实际上调用一个空构造函数来初始化在运行tym期间为你自动创建的值... 除非你没有任何论据要通过,否则没有差别。因为两者都在内部调用空构造函数。