某网站有一个js方法,如何对该方法做加工,获取其打印出其参数和返回值?

某网站有一个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

回到顶部