默認

2012-09-17 92 views
-1

Javascript繼承子類調用我有我需要重寫sample.A在sample.B默認

,當我點擊我會打電話給我從中需要調用sample.A.Test一個功能的情況下()需要內部調用sample.B中的重寫函數(Test)並僅執行該函數。可能嗎 ?

我的同事告訴我java腳本默認會調用子類的功能並執行,這是真的嗎?

上述場景

sample.A = (function() { 

return { 

Test: function(){   
    console.debug('Test in Super class'); 
}, 
} 

sample.B = (function() { 
return { 

Test: function(){ 
    console.debug('Test in Sub class'); 
}, 
} 

可這種行爲可以通過Java腳本或jQuery的實現?

+0

jQuery只是另一個JavaScript庫,不需要任何繼承。 – Bergi

+0

你需要那些函數表達式閉包(它最終甚至缺少'();',使你的代碼無效)?只需將對象分配給'sample'對象的屬性即可。 – Bergi

+0

JavaScript沒有類,而是原型繼承。請告訴我們你如何調用你的函數,以及爲什麼你的超類'A'在內部應該調用它的子類'B'? – Bergi

回答

0

要在JavaScript中啓用「繼承」,至少需要添加一些實用方法。

例如:

function inheritMethods(fromA, intoB) { 
    for (x in fromB) { 
    if (typeof x === 'function') { 
     intoB[x] = fromA[x]; 
    } 
    } 
} 

什麼的等等...

但是由於是在經典OO意義上「繼承」是不是本機的JavaScript大約有模仿這種不同的方式。 'Code Reuse'下的'JavaScript Patterns'有很好的討論,如果你能掌握這本書的話。