[英]Adding a prototype method to an object
我正在做Code Academy上的javascript教程。 这是问题所在( link ):
通过扩展其原型,将sayHello方法添加到Dog类。
sayHello应该打印到控制台:“您好,这是一只[品种]狗”,其中[品种]是狗的品种。
这是我的代码:
function Dog (breed) {
this.breed = breed;
};
// add the sayHello method to the Dog class
// so all dogs now can say hello
Dog.prototype.sayHello = function() {
console.log("Hello this is a %s dog", this.breed);
}
var yourDog = new Dog("golden retriever");
yourDog.sayHello();
var myDog = new Dog("dachshund");
myDog.sayHello();
我的输出:
你好,这是一只金毛狗
你好,这是一只腊肠狗
我得到的错误是:
糟糕,再试一次。 看来您的sayHello方法未正确登录到控制台“您好,这是一只[品种]狗”,其中[品种]是那只狗的品种
这是CA的代码检查器出现问题还是我做错了什么?
无论CodeAcademy使用什么方法来检查结果,它都不喜欢您处理文本的方式。 当我做:
console.log("Hello this is a " + this.breed + " dog");
它说这是“正确的”。
您的代码对我来说看起来不错,我认为这是CA的问题。
如果将其更改为:
Dog.prototype.sayHello = function() { console.log("Hello this is a " + this.breed + " dog"); }
然后CA不会抱怨,说是正确的。
所有版本的Javascript均不支持在console.log
使用替换字符串。 例如,Internet Explorer 9不支持它们。
参考: MDN:console.log
使用不带替换字符串的较旧形式的作品:
console.log("Hello this is a " + this.breed + " dog");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.