【发布时间】:2015-10-16 04:19:11
【问题描述】:
我正在学习 JavaScript,最近在向构造函数原型添加方法时遇到了问题。我正在尝试添加一个方法,该方法将在控制台上打印由动物类构造函数创建的动物名称。我试图通过将 this.name 添加到 console.log 语句来做到这一点。但是,当我尝试提交代码时,这通过了。 这是 codeacademy 告诉我的:“糟糕,再试一次。看起来你的 Animal.prototype.sayName 方法没有正确登录到控制台‘嗨,我的名字是 [name]’,其中 [name] 是动物的名字” this.name 不应该指代最终由构造函数创建的任何动物的名称吗?我究竟做错了什么? 编辑:知道了,大家。它没有通过,因为 codeacademy 想要“嗨,我的名字是 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();
【问题讨论】:
-
工作正常see this
-
您确定不应该在日志中包含方括号吗?
-
非常适合我,你完全明白了。 jsbin.com/yocuqaloji/edit?js,console
-
codeacademy 的作业是否说应该打印
"Hi my name is"或"Hi, my name is"?它可以像您的版本中的逗号一样简单。 -
@MightyPork 知道了!!抱歉,我是新手
标签: javascript class methods constructor