2013-04-29 67 views
0
function extend(Child, Parent){ 
    var F = function() { } 
    F.prototype = Parent.prototype 
    Child.prototype = new F() 
    Child.prototype.constructor = Child 
    Child.superclass = Parent.prototype 
} 

我有一個問題,延長了父類中的兒童原型的功能被刪除了,怎麼救孩子的功能和使用此功能擴展父母是什麼時候?JavaScript的原型延長deleteting子函數

+0

我相信你對原型的本質深感困惑。 請閱讀下面的內容:http://stackoverflow.com/questions/572897/how-does-javascript-prototype-work 它會幫助你開始解除你在問題中的混亂。 – 2013-04-29 05:21:45

+0

它看起來像我只能使用這個函數擴展一次,因爲原型覆蓋了兒童原型 – Hello 2013-04-29 05:25:54

+0

中的所有數據原型不會按照您認爲的原理工作。請熟悉如何使用它。請注意,在我鏈接的示例中,沒有人將任何內容分配給原型。那是因爲那不是它的原因。 'Child.prototype = new Foo()'是一個可怕的錯誤。 – 2013-04-29 05:43:53

回答

0

當你做這樣的事情後,你會在之後添加子原型的屬性。

function MyChild() {} 
extend(MyChild, MyParent); 

MyChild.prototype.newMethod = function() {} 

我建議使用Object.createsham