返回課程

將綁定函式當成方法

重要性:5

輸出結果會是什麼?

function f() {
  alert( this ); // ?
}

let user = {
  g: f.bind(null)
};

user.g();

答案:null

function f() {
  alert( this ); // null
}

let user = {
  g: f.bind(null)
};

user.g();

繫結函式的內容是固定不變的。沒有辦法再進一步改變它。

因此,即使我們執行 user.g(),原始函式還是會使用 this=null 呼叫。