gpt4 book ai didi

javascript - 覆盖 native 功能?

转载 作者:可可西里 更新时间:2023-11-01 01:41:16 25 4
gpt4 key购买 nike

原生的 document.createElement() 是愚蠢的(它只需要一个标签名称,没有属性)。为什么我不能覆盖它?这怎么行不通?

var originalFunction = document.createElement;

document.createElement = function(tag, attributes) {
var element = originalFunction(tag);

if (attributes) {
for (var attribute in attributes) {
element.setAttribute(attribute, attributes[attribute]);
}
}

return element;
};

问题是当您尝试替换 native 功能时浏览器会崩溃。由于 document 不是 JavaScript 原语,因此您也无法为其创建原型(prototype)。卧槽。

最佳答案

据我所知,问题是对 document.createElement() 函数的调用即使在引用时也必须来自文档。所以修改你的代码:

var element = originalFunction.call(document, tag);

关于javascript - 覆盖 native 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2346082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com