【问题标题】:Javascript - check if method prototype has been changed?Javascript - 检查方法原型是否已更改?
【发布时间】:2009-02-22 08:34:09
【问题描述】:

检查方法的原型是否已更改的最佳方法是什么?

【问题讨论】:

    标签: javascript prototype methods


    【解决方案1】:

    如果您的意思是在加载代码和稍后时间之间发生更改,这取决于您所说的“更改”的含义,您可以只存储对函数的引用,a la

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

    但是,如果您的意思是从默认的本机实现更改,则没有真正的方法可以说明。

    【讨论】:

    • 所以一些库比如 Prototype 修改了核心对象原型,比如 Array.prototype.push 或 pop。所以我想知道如何检查原生对象的默认原型方法是否已更改。
    • @Geuis 你有没有想过检查原生对象的默认原型方法是否已更改?
    • @Stiofán 我希望你意识到这个问题是在 12 年前提出的。当我最初问这个问题时,我不知道上下文是什么。今天我们有了 getter 和 setter 的构造函数模式。你也许可以用这些做点什么。
    猜你喜欢
    • 1970-01-01
    • 2011-10-10
    • 2013-06-14
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多