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
})()
有没有更好一点的包装方法?
相关分类