LeoWangJ / blog

紀錄學習文章
1 stars 0 forks source link

函數劫持 #9

Open LeoWangJ opened 5 years ago

LeoWangJ commented 5 years ago

函數劫持意思是在要調用某個函數時,額外的添加一些我們想要執行的功能後才會執行調用的函數,

用意是你依舊可以使用原先函數的功能,並且在此功能上再添加一些想要做的事情。

函數劫持的原理:

  1. 使用變量先保存原先的函式

  2. 重新複寫要劫持的函式

  3. 在覆寫的函式內重新呼叫使用變量儲存的原先函式

例子:

var test = function() { console.log('原本的函式')}

var temp = test;
test = function() {
  console.log('添加的判斷')
  temp()
}

test()

通過上面例子,我們會打印出兩個console.log,證明了我們會執行原有的函式,以及後來添加的方法