某网站有一个js方法,如何对该方法做加工,获取其打印出其参数和返回值?
比如一个方法
···
window.logHello()
···
如何对这个方法做类似代码注入的方式,打印出这个函数的入参和返回值?
回答:
下面这是一个常用的方法,但是使用的时候还是会有坑,比如示例中的 hi
提前引用了原来的 sayHello
,改不了。
globalThis.sayHello = name => console.log(name);const hi = globalThis.sayHello;
globalThis.sayHello("James");
hi("Andy");
console.log("--------------------------------------");
globalThis.sayHello = (fn => {
return (...args) => {
console.log("arguments: ", args);
const result = fn(...args);
console.log("result: ", result);
return result;
};
})(globalThis.sayHello.bind(globalThis));
globalThis.sayHello("James");
hi("Andy");
以上是 某网站有一个js方法,如何对该方法做加工,获取其打印出其参数和返回值? 的全部内容, 来源链接: utcz.com/p/937563.html