Day23 函式內建方法:bind()、call()與apply()
今天來看看bind()、call()、apply()這三個函式內建方法。
當函式執行環境被創造出來,會一併創造arguments關鍵字,保存帶入自己的參數;
也會一併創造出this關鍵字,指向函數目前所處的物件,關於this可以參考這天的筆記。
若我們希望修改this指向的對象,有辦法達到這個目的嗎?
我們可以利用bind()、call()、apply()這些函式內建方法來達成目的
先來看看bind()的例子
var superMan = {
earthName: 'Clark Kent',
KryptonName: 'Kal-El',
getAllName: function(){
var allname = this.earthName + ' and ' + this.KryptonName;
return allname;
}
}
console.log(superMan.getAllName())
結果是
接著在設定一個函式表示式logName
var logName