![](/img/trans.png)
[英]What is the difference between adding a method to a JavaScript constructor directly and adding a method using prototype?
[英]Adding a method to a constructor prototype
我正在学习JavaScript,最近在向构造器原型添加方法时遇到了一个麻烦。 我正在尝试添加一种方法,该方法会将由动物类构造函数创建的动物的名称打印到控制台。 我正在尝试通过将this.name添加到console.log语句中来做到这一点。 但是,当我尝试提交代码时会通过。 这是codeacademy告诉我的:“糟糕,再试一次。看来您的Animal.prototype.sayName方法未正确登录控制台'Hi my name is [name]',其中[name]是Animal的名称” this.name不应引用最终由构造函数创建的任何动物名称吗? 我究竟做错了什么? 编辑:大家都知道了。 它没有通过,因为代码学院想要“嗨,我的名字是this.name”,并且我用额外的逗号写了“嗨,我的名字是this.name”。 感谢您所有的帮助!
function Animal (name, numLegs) {
this.name = name;
this.numLegs = numLegs;
};
Animal.prototype.sayName = function () {
console.log("Hi, my name is " + this.name);
};
// trying to use this.name but doesn't work
var penguin = new Animal("Captain Cook", 2);
penguin.sayName();
该代码不起作用,因为console.log语句中还有一个逗号。
谢谢大家的帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.