原型上子对象的Javascript继承
Javascript inheritence of child object on prototype
我刚刚开始学习JS中的原型继承,我希望我的子类对象的子对象(def2)从超类对象的子对象(def)继承。下面的代码将解释我的意思:
function Animal(name)
{
this.name = name;
this.def = {
FieldA: 'aaa',
FieldB: 'bbb'
}
}
function Rabbit(name, category)
{
Animal.apply(this, arguments);
this.def2 = { };
this.def2.prototype = Animal.def;
alert(this.def2.FieldA); // this is undefined
}
function Rabbit(name, category) {
Animal.apply(this, arguments);
this.def2 = clone(this.def); //where clone is a function similar to http://stackoverflow.com/questions/122102/most-efficient-way-to-clone-an-object#answer-122190
alert(this.def.FieldA); // this is 'aaa'
}
Rabbit.prototype = new Animal(); //inherit Animal
Rabbit.prototype.constructor = Rabbit;
我建议您阅读 http://phrogz.net/JS/classes/OOPinJS2.html 或类似的文章
相关文章:
- 关于Javascript继承,我可以'我不明白
- Javascript继承代码集
- Javascript:继承原型而不重新定义构造函数
- JavaScript继承:未捕获的范围错误:超过了最大调用堆栈大小
- JavaScript继承:为什么从实例复制
- javascript继承中正确的原型做作是什么
- 没有原型的Javascript继承
- Javascript继承-使用.call方法
- 运行Javascript继承代码时出错
- Javascript继承构造函数
- Javascript继承和封装,高效完成
- 具有简洁原型赋值语法的Javascript继承
- Javascript继承的问题&基类原型
- JavaScript继承构造函数.prototype
- javascript继承说明
- Javascript继承:从超类的方法设置子类的属性
- 简单的 Javascript 继承示例
- 具有意外行为的 JavaScript 继承
- 基于实例的 JavaScript 继承
- 为什么 JavaScript 继承是这样工作的