默认

2012-09-17 50 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'有很好的讨论,如果你能掌握这本书的话。