首页常见问题正文

new操作符具体干了什么呢?

更新时间:2024-04-10 来源:黑马程序员 浏览量:

IT培训班

  在前端开发中,new操作符是用来创建一个对象实例的关键字。当我们使用new操作符来调用一个函数时,它实际上进行了以下几个步骤:

  1.创建一个新的空对象:

  首先,new操作符会创建一个空对象,这个对象将成为函数的实例。

  2.将新对象的原型指向构造函数的原型:

  new操作符会将新对象的原型([[Prototype]])指向构造函数的prototype属性所指向的对象。这样,新创建的对象就可以访问构造函数原型上定义的属性和方法。

  3.将构造函数内部的this指向新创建的对象:

  new操作符会调用构造函数,并将构造函数内部的this指向新创建的对象,这样在构造函数内部就可以通过 this来引用新创建的对象。

  4.执行构造函数内部的代码:

  构造函数内部的代码会被执行,可以在这个过程中对新创建的对象进行初始化,给对象设置属性等操作。

  5.返回新创建的对象:

  如果构造函数内部没有显式返回其他对象,则new操作符会隐式返回新创建的对象,如果构造函数内部有返回值且为对象类型,则返回该对象;如果是其他基本类型,则忽略返回值,仍然返回新创建的对象。

  下面是一个简单的示例来说明new操作符的使用:

function Person(name, age) {
  this.name = name;
  this.age = age;
}

// 使用 new 操作符创建一个 Person 的实例
const person1 = new Person('Alice', 30);

console.log(person1.name); // 输出:Alice
console.log(person1.age);  // 输出:30

  在这个示例中,通过new操作符调用Person构造函数,创建了一个新的Person实例对象person1,并传入了参数 'Alice' 和 30。在构造函数内部,this.name和this.age分别被赋值为'Alice'和30,然后返回了这个新创建的对象。

分享到:
在线咨询 我要报名
和我们在线交谈!