因此,我们的想法是创建一个Animal类,并将其设置属性作为新对象
这就是我所拥有的:
var name;
var type;
function Animal(name,type){
this.type = type,
this.name = name,
toString = function(){return this.name + "is a " + this.type;}
};
var cat = new Animal('Max','cat');
cat.type;
每次我运行它 - 我似乎在toString部分失败了?很新,并试图了解这一点 - 有什么我想念的吗?
答案 0 :(得分:1)
您不需要声明那些顶级变量,参数应该是函数的本地变量。语法也是错误的,你应该使用分号而不是逗号,toString
成为全局变量,因为你忘了使用var
。
你想要的是this.toString
所以this
在内部工作并引用实例,或者更好的是,在prototype
上创建一个方法,以便它可以重复使用Animal
的所有实例:
function Animal(name,type) {
this.type = type;
this.name = name;
}
Animal.prototype.toString = function() {
return this.name + "is a " + this.type;
};
答案 1 :(得分:0)
function Animal(name, type) {
this.type = type;
this.name = name;
};
Animal.prototype.toString = function() {
return this.name + "is a " + this.type;
}
var cat = new Animal('Max', 'cat');
console.log(cat); // Prints "Max is a cat"