Javascript默认情况下继承子类

时间:2012-09-17 07:02:15

标签: javascript inheritance

我有一个场景,我需要覆盖sample.B中的sample.A

当我点击i时,我将调用一个函数,我需要调用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来实现这种行为吗?

1 个答案:

答案 0 :(得分:0)

要在JavaScript中启用“继承”,您至少需要添加一些实用程序方法。

例如:

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

或类似的东西......

但是,由于经典OO意义上的“继承”不是JavaScript的原生,因此有很多方法可以模仿这一点。如果您能掌握这本书,那么在“代码重用”下的“JavaScript Patterns”中有一个很好的讨论。