gpt4 book ai didi

javascript - 在 JavaScript 中更改宿主对象的原型(prototype)函数?

转载 作者:行者123 更新时间:2023-11-30 06:41:04 25 4
gpt4 key购买 nike

我想在每次调用 appendChild 时执行一些代码。让我们假设我无法知道它会在何时何地被调用。我想我可以使用原型(prototype)来做到这一点,但它们似乎不起作用:

var actAppendChild = Element.prototype.appendChild;
Element.prototype.appendChild = function(node){
actAppendChild.call(this,node);

//execute custom code here...
console.log("foo");
}

document.body.appendChild(someNode);

但就此而言,“foo”不会打印到控制台,也不会打印到新原型(prototype)函数中的任何代码。我做错了什么?

最佳答案

我可以确认即使在 IE8+、Safari、Chrome 和 Opera 上它也能正常工作。只是一个建议:将代码包装在闭包中以避免污染全局命名空间始终是最佳实践,如下所示:

(function(){
var actAppendChild = Element.prototype.appendChild;
....
}());

关于javascript - 在 JavaScript 中更改宿主对象的原型(prototype)函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11268360/

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