原型继承为什么子对象不从父对象继承方法
Prototypal Inheritance Why Does Child Object Not Inherit Method From Parent Object?
这是我的JavaScript:
http://jsfiddle.net/GPNdM/
我有一个Cat对象,它扩展了Mammal的原型。Mammal有run()方法。但当我创建新的Cat对象并调用run()时,它会告诉我它是未定义的:
function Mammal(config) {
this.config = config;
}
Mammal.prototype.run = function () {
console.log(this.config["name"] + "is running!");
}
function Cat(config) {
// call parent constructor
Mammal.call(this, config);
}
Cat.prototype = Object.create(Mammal);
var felix = new Cat({
"name": "Felix"
});
felix.run();
知道为什么吗?
它应该是Cat.prototype = Object.create(Mammal.prototype)
,这是方法所在的位置,而不是直接在Mammal
上。
http://jsfiddle.net/GPNdM/1/
相关文章:
- JavaScript对象不是从原型链继承的
- JavaScript对象继承问题
- 类中对象的奇怪问题(John Resig简单继承)
- 继承对象并将变量传递给它,javascript
- 继承对象.遍历所有对象
- 调用本机原型方法时扩展或继承对象原型
- 继承对象的最佳做法
- 从继承对象的函数调用原型的方法
- CoffeeScript类-循环遍历继承对象的数组
- 通过原型继承对象
- 在Javascript中继承对象的值
- 为什么不通过原型链继承对象方法?
- 原型继承对象的多个实例
- Javascript中继承对象的两种不同(?)方法
- 继承对象的变化反映到父对象
- Angularjs, JavaEE和http请求继承对象
- 继承对象
- 具有继承对象参数的Jquery AutoComplete
- 用nodejs封装继承对象的属性
- 如何在javascript的构造函数中重写继承对象的属性?