Skip to content

构造器

在 JavaScript 中,构造器(Constructor)是一种特殊的函数,用于创建并初始化一个对象。通常情况下,构造器函数名称的首字母大写,以便与普通函数进行区分。

js
// 普通函数
function fn() {}

// 构造器
function Person() {}

new

  1. 通过 new 关键字调用构造器时,会以构造器原型为基础创建一个新的对象,并将其作为 this 上下文传递给构造函数。
  2. 在构造器函数内部,可以使用 this 对象来添加属性和方法。
  3. 最后,如果没有显式返回其他对象,则构造器将返回这个新创建的对象。
js
function Person() {
  this.name = '张三'
}

function create(Person, ...args) {
  const obj = Object.create(Person.prototype)
  Person.apply(obj, args)
  return obj
}

const instanceNew = new Person()
const instanceCreate = create(Person)

在上述代码中,Person 是一个构造器函数,分别通过 new 和 create 来创建对象, instanceNew 和 instanceCreate 结果是一致的。其中 create 函数描述了 new 操作的基本过程。