繁体   English   中英

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

[英]How to change the prototype of “animal” and add method “sayName” to print statement

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

说明:

创建一个名为Animal的类,它具有两个属性namenumLegs Animal构造函数应该有两个参数,它们的值分配给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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM