开发喵星球

JavaScript 中通过 new 创建一个对象的时候,函数内部有哪些改变?

当使用 new 关键字创建一个对象实例时,函数内部发生以下改变:

  1. 创建新对象: 使用 new 关键字调用函数时,会创建一个新的空对象。
  2. this 指向: 函数内部的 this 指向新创建的对象实例,允许函数访问和操作该对象的属性和方法。
  3. 隐式返回: 如果构造函数没有显式地返回一个对象,则会隐式返回 this 指向的新对象。

例如:

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

const person = new Person('Alice', 25);
console.log(person); // 输出 Person { name: 'Alice', age: 25 }

在上述例子中,new Person('Alice', 25) 创建了一个新的 Person 对象实例。在构造函数 Person 内部,this 指向新创建的对象,属性 nameage 被赋予了相应的值,最终返回了这个新创建的对象实例。

Proudly powered by WordPress