嗨,我对 jQuery 和 JavaScript 比较陌生,并且对$.extend
. 我extend
用来覆盖扩展“基类”的类的原型。让我们调用基类和Parent
子类/扩展类A
和B
. 现在,当我使用它时,Prototype 的内容$.extend(true, A.prototype, {someObject: {extraKey: 'value'}});
似乎也发生了变化,如果多个对象/类从父级继承,则会导致非常奇怪的行为。此外,仅当使用“深度”扩展时才会发生这种情况。Parent
someObject
我设法通过使用各自的原型扩展一个空对象,然后使用扩展的返回值作为新原型来避免这个问题。例如A.prototype = $.extend(true, {}, A.prototype, {someObject: {extraKey: 'value'}});
为了显示问题,我创建了这个小 jsfiddle:http: //jsfiddle.net/x8UtF/12/
实际问题:有没有办法绕过空的物体和东西extend(true, X.prototype, {});