我有一个问题需要解决 JS 中的某种继承问题。
我设置了一个小的 jsfiddle 来解释,看:
V1 http://jsfiddle.net/FFTj4/5/
function Vehicule(name) ...
这里的结果并不像预期的那样,但很容易解释。我正在调用父构造函数,将函数应用于设置名称的“调用”对象的作用域。到目前为止,汽车和跑车名称尚未在其车辆原型中设置,因此当我询问名称时,车辆名称未定义。
我修复了它:
V2(取消注释 jsfiddle 中的 v2 部分)现在我也在“确定”getName 调用以确保我得到了我的“名字”。我虽然它是固定的!所以我也将修复程序应用于 SportCar
V3(在 jsfiddle 中取消注释 v3 部分)好吧,这并不容易,现在我锁定了 SportCar 调用 Car getName,但汽车的范围为 SportCar,因此当汽车“尝试”调用 Vehicule getName 时,它改为调用 SPortCar getName,并且以此类推,超出最大调用堆栈大小。
我需要想出一种方法来调用当前对象超类,无论是否使用应用调用,当然还要保持最顶层对象的范围:/
我的想法已经用完了,现在已经有将近 2 周的时间了。
谢谢 !