我需要构造一个函数,它采用黑盒单参数函数作为参数。我需要知道黑盒函数使用其参数多少次
签名示例:
function argCounter(fn) {
return (arg) => {
let argCalls = 0
...
fn(arg)
return argCalls
}
}
使用示例:
const fn1 = argCounter(obj => {
return obj
}
fn1() // 1
const fn2 = argCounter(obj => {
obj; obj; obj;
return obj
}
fn2() // 4
我知道JS Proxy,但它只让我能够计算对象的方法或属性被调用的次数。不幸的是,我无法确定,如何使用 JS Proxy 来统计对象本身被使用了多少次。
这是不可能的。引用值时不会调用任何钩子。