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








