Javascript 原型继承为什么子对象不从父对象继承方法?

Javascript 原型继承为什么子对象不从父对象继承方法?,javascript,Javascript,下面是我的JavaScript: 我有一个猫的物体,它扩展了哺乳动物的原型。哺乳动物有run()方法。但当我创建新的Cat对象并调用run()时,它告诉我它是未定义的: function Mammal(config) { this.config = config; } Mammal.prototype.run = function () { console.log(this.config["name"] + "is running!"); } function Cat(con

下面是我的JavaScript:

我有一个猫的物体,它扩展了哺乳动物的原型。哺乳动物有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(哺乳类动物.prototype)
,这是方法所在,而不是直接在
哺乳类动物上


它应该是
Cat.prototype=Object.create(哺乳动物.prototype)
,这是方法所在,而不是直接在
哺乳动物上


您的对象通常不会从函数对象继承。大多数情况下,它们会通过
.prototype
属性从悬挂在函数上的奇怪小对象继承。您的对象通常不会从函数对象继承。大多数情况下,它们都会通过
.prototype
属性继承那些悬挂在函数上的奇怪小对象。谢谢。我仍在试图把我的脑袋绕在这个原型遗传上:PThanks。仍在试图围绕着这个原型遗传:P