使用new命令所做的几件事:
1创建(或者说构造)一个全新的对象.
2这个新对象汇报执行[[原型]]连接.
3这个新对象会绑定到函数调用的this。
4如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象。
以上过程的伪代码:
let obj = new funA();
1let temp = {};
2temp._proto_ = funA.prototype;
3funA.bind(temp);
4obj = return funA() || temp;