Javascript - 检查方法原型是否已更改?

4

如何检查方法的原型是否已更改?

1个回答

3

这取决于你所说的“改变”是指在代码加载时和之后某个时间点之间是否发生了变化。如果是的话,可以通过存储该函数的引用来解决问题,如下:

var oldFunc = SomeType.prototype.someFunction;
...
if (oldFunc === someInstance.someFunction) // unchanged, note the use of strict equality

但如果你的意思是改变了默认的本地实现,那么就没有真正的方法可以确定。


因此,一些类库(如Prototype)会修改核心对象原型,如Array.prototype.push或pop。因此我想知道如何检查本机对象的默认原型方法是否已更改。 - Geuis
@Geuis 你有没有找到一种方法来检查本地对象的默认原型方法是否被更改? - Stiofán
@Stiofán,希望你意识到这个问题已经超过12年了。我不知道当初我提出这个问题时的背景是什么。今天我们有构造函数模式和getter和setter。你可能可以用它们做些什么。 - Geuis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接