JavaScript 中使用 new 調用函數時的內部行爲

在 JavaScript 中當咱們定義一個函數後javascript

function Fn() {}
複製代碼

當使用 new 來調用函數的時候,會建立一個全新的對象java

let fn = new Fn();
複製代碼

那麼疑問的是:用 new 來調用函數,內部到底發生了什麼呢?這裏解釋,共 4 步:函數

  1. 首先,建立一個全新的對象。
  2. 將新對象內部 [[prototype]] 屬性指向 Fn.prototype
  3. 函數 Fn 內部的 this 指向這個新對象。
  4. 若是函數 Fn 沒有返回其餘對象,就返回這個新對象。

(完)this

相關文章
相關標籤/搜索