函数劫持(钩子函数)

不改变原函数的情况下,将原始函数重构。一些钩子函数的原理就是用的函数劫持。

绑定在对象上的方法如下

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正常执行体")

  return function() {

    console.log('劫持增加执行体逻辑部分')

    orig.call(obj1)

  }

})

obj1.test()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。