JavaScript 中使用 new 调用函数时的内部行为

255 阅读1分钟

在 JavaScript 中当我们定义一个函数后

function Fn() {}

当使用 new 来调用函数的时候,会创建一个全新的对象

let fn = new Fn();

那么疑问的是:用 new 来调用函数,内部到底发生了什么呢?这里解释,共 4 步:

  1. 首先,创建一个全新的对象。
  2. 将新对象内部 [[prototype]] 属性指向 Fn.prototype
  3. 函数 Fn 内部的 this 指向这个新对象。
  4. 如果函数 Fn 没有返回其他对象,就返回这个新对象。

(完)