新运算符

时间:2015-06-01 19:46:06

标签: javascript

我刚开始学习JavaScript。在我看来

B = new A();

相同
B = Object.create(A.prototype);
A.call(B);

我的理解是否正确?

1 个答案:

答案 0 :(得分:2)

  

我的理解是否正确?

是的,这基本上是new的作用。

但您可能需要考虑一些边缘情况 - 当A确实返回一个对象时,new调用将产生该值,而不是this值。有关具体步骤,请参阅MDNHow does the "this" keyword work?

此外,对于某些特殊构造函数(不是标准的用户声明函数),使用和不使用new的调用之间的行为可能会有很大差异。内置构造函数(Array等)是突出的例子。