构造函数的调用需要用new操作符。
用new操作符创建对象时发生的事情:
第一步: 创建一个Object对象实例。
第二步: 将构造函数的执行对象赋给新生成的这个实例。
第三步: 执行构造函数中的代码
第四步: 返回新生成的对象实例
问题是:第二步是什么意思,什么叫将构造函数的执行对象赋给新生成的这个实例,这个实例我知道是新创建的空对象,为什么构造函数执行对象还能赋给新对象,构造函数执行对象是什么?这是什么意思,用代码怎么表示第二步的这句话,实在不太理解。
示例代码
function User(name) {
this.name = name;
this.isAdmin = false;
}
let user = new User("Jack");
alert(user.name); // Jack
alert(user.isAdmin); // false