我想在运行时包装任何 JavaScript 调用,例如,我想在日志中写入一个 Func 调用已经发生的日志。
这种包装必须适用于任何函数,即使是那些使用 eval 或原型添加的函数。
我想在运行时包装任何 JavaScript 调用,例如,我想在日志中写入一个 Func 调用已经发生的日志。
这种包装必须适用于任何函数,即使是那些使用 eval 或原型添加的函数。
您正在寻找的是节点代理
您不能使用本机 JS 做到这一点。这仅适用于node.js
. 它可能可以调整为适用于在 V8 上运行的任何 js。
如果您要使用该方法调用您的函数call
,您可以执行以下操作:
oldCall = Function.prototype.call;
Function.prototype.call = function(){
// do some logging here
oldCall.apply(this, arguments);
}