gpt4 book ai didi

javascript继承自一个类

转载 作者:行者123 更新时间:2023-11-30 18:05:55 25 4
gpt4 key购买 nike

我正在学习继承。在下面的代码中

1)企鹅继承自Animal

2) 当我调用 penguin.sayName() 时;为什么输出“嗨,我的名字未定义”;

function Animal(name,numLegs){
this.name = name;
this.numLegs = numLegs;


}
Animal.prototype.sayName = function(){
console.log("Hi my name is " + this.name);
};


function Penguin(){}

Penguin.prototype = new Animal();

var penguin = new Penguin("Captain Cook", 2);
penguin.sayName();

最佳答案

您需要通过函数构造函数将namenumLegs 属性添加到penguin 对象。这两个属性特定于 Animal 对象,不会通过调用 Penguin 构造函数简单地分配。

function Penguin(name,numLegs){
this.name = name;
this.numLegs = numLegs.
}

工作示例: http://jsfiddle.net/5A7hH/

你也可以使用原型(prototype)链上的构造函数,这类似于 Java 中调用 super() 构造函数。

function Penguin(name,numLegs){
this.constructor(name,numLegs);
}

关于javascript继承自一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15806754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com