如何更改“动物”的原型并添加方法“sayName”来打印语句

How to change the prototype of "animal" and add method "sayName" to print statement

本文关键字:方法 sayName 打印 语句 添加 原型 何更改 动物      更新时间:2023-09-26

我一直在做很多HTML和CSS,现在我正在做一个JS教程。不过我遇到了这个问题。我不知道如何访问原型。

指示:

创建一个名为 Animal 的类,该类具有两个属性 namenumLegs 。动物构造函数应该有两个参数,其值分配给namenumLegs

接下来,更改 Animal 的原型并添加一个方法 sayName,该方法打印到控制台"嗨,我的名字是[name]",其中 [name] 是 name 的值。

点击"卡住?获取提示!",以获取有关如何创建类以及如何向对象的原型添加方法的示例。

最后

,我们提供了最后两行来测试构造函数和sayName方法。不要改变这些!

这是我的代码:

// create your Animal class here
function Animal(name, numLegs)={
    this.name=name;
    this.numLegs=numLegs;
    this.sayName=function(){
        console.log("Hi, my name is "+this.name);
    }
}

// create the sayName method for Animal
// provided code to test above constructor and method
var penguin = new Animal("Captain Cook", 2);
penguin.sayName();

我收到语法错误。什么给?

我相信

语法错误是由于函数声明后的等号造成的:

function Animal(name, numLegs)=

如果您删除等号,该函数不会再抛出语法错误(我刚刚在 Chrome 的控制台中尝试过)。

你可以检查我的代码,它正在工作:

Animal.prototype.sayName = function(){
    console.log("Hi my name is" + " " + this.name);
};
// create your Animal class here
function Animal(name, numLegs) {
    this.name = name;
    this.numLegs = numLegs;
    // create the sayName method for Animal
    Animal.prototype.sayName = function() {
        console.log("Hi my name is " + [this.name]);
    }
};
// provided code to test above constructor and method
var penguin = new Animal("Captain Cook", 2);
penguin.sayName();