js 有优雅的办法从外部 hijack 函数入参吗?

let fn = (a, b, c) => {

  console.log(a, b, c)

}


fn1(0, 0, 0) // output: 0 0 0

想要 fn 每次调用的时候第二个参数总是加 2

fn(0, 0, 0) // output: 0 2 0

fn(1, 1, 1) // output: 1 3 1

目前只找到一种很丑的写法去 hijack:

fn = (_ => {

  const innerFn = fn

  const newFn = (a, b, c) => {

    innerFn(a, b + 2, c)

  }

  Object.assign(newFn, innerFn)

  return newFn

})()

有没有更好一点的包装方法?

饮歌长啸
浏览 471回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript