將綁定函式當成方法
重要性: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
呼叫。