我一直在做很多HTML和CSS,现在我正在做一个JS教程。尽管我遇到了这个问题。我不知道如何访问原型。如何更改“动物”的原型并添加方法“sayName”来打印语句
说明:
创建一个名为动物具有两个属性,
name
和numLegs
类。 Animal构造函数应该有两个参数,它们的值分配为name
和numLegs
。接下来,更改动物的原型,并添加一个方法sayName打印到控制台“您好,我的名字是
[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();
我得到一个语法错误。是什么赋予了?
侧面说明,你没有按照指示! 'sayName'应该添加到原型中,而不是在构造函数中定义。 – Tserkov
继承,构造函数和原型在此处详细介绍:http://stackoverflow.com/a/16063711/1641941 – HMR
无关的提示:将“this”分配给构造函数中的命名变量以避免继承问题可能很明智用'this'。例如'var self = this;'在构造函数的开头,然后在内部定义的函数内使用'self'来代替'this'。这样它将始终使用构造函数作用域的'this'而不是当前函数的作用域'this'。 – Makaze