深入解析:Object.defineProperty与Proxy结合引发的双重apply调用
本文分析Object.defineProperty和Proxy结合使用时,apply方法被调用两次的根本原因。以下代码片段展示了这一问题:
const test = { querySelector() {}};Object.defineProperty(test, "querySelector", { get() { return new Proxy(document.querySelector, { apply(target, thisArgs, args) { console.log('test', thisArgs); return thisArgs.querySelector.apply(document, args); } }); }});// 执行代码test.querySelector("body");
登录后复制
本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。