不改變?cè)瘮?shù)的情況下,將原始函數(shù)重構(gòu)。一些鉤子函數(shù)的原理就是用的函數(shù)劫持。
綁定在對(duì)象上的方法如下
let?obj1?=?{
??test:function?()?{
????console.log('test')
??},
??jack:?function?(obj,method,fn)?{
????let?orig?=?obj[method]
????obj[method]?=?fn(orig)
??}
}
obj1.jack(obj1,'test',(orig)?=>?{
??console.log("jack正常執(zhí)行體")
??return?function()?{
????console.log('劫持增加執(zhí)行體邏輯部分')
????orig.call(obj1)
??}
})
obj1.test()
