new运算符背后的运行机制

使用 new 运算符调用函数的时,背后有一套运行机制,这套机制说明了构造函数是怎么产生对象的。

当 new 运算符调用函数时,大致会进行以下几个操作:

  1. 创建一个空对象
  2. 将函数的this指向这个空对象
  3. 执行函数
  4. 如果函数没有指定返回值,则直接返回 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 操作符可以生成对象了。

这个机制也是面试的高频题。

 

 

posted @ 2022-08-25 16:13  神奇名字  阅读(71)  评论(0)    收藏  举报