new运算符背后的运行机制
使用 new 运算符调用函数的时,背后有一套运行机制,这套机制说明了构造函数是怎么产生对象的。
当 new 运算符调用函数时,大致会进行以下几个操作:
- 创建一个空对象
- 将函数的this指向这个空对象
- 执行函数
- 如果函数没有指定返回值,则直接返回 this(一开始创建的空对象),否则返回指定返回值
function Person(name, gender, age) {
this.name = name;
this.gender = gender;
this.age = age;
}
var person = new Person('小明', '男', 17);
console.log(person.name);
这样就能理解为什么使用 new 操作符可以生成对象了。
这个机制也是面试的高频题。

浙公网安备 33010602011771号