Javascript 原型继承为什么子对象不从父对象继承方法?
下面是我的JavaScript: 我有一个猫的物体,它扩展了哺乳动物的原型。哺乳动物有run()方法。但当我创建新的Cat对象并调用run()时,它告诉我它是未定义的: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
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