创建一个类并调用它';s属性(javascript)
因此,我们的想法是创建一个类动物,并将其属性设置为一个新对象 以下是我所拥有的:创建一个类并调用它';s属性(javascript),javascript,class,object,Javascript,Class,Object,因此,我们的想法是创建一个类动物,并将其属性设置为一个新对象 以下是我所拥有的: 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; 每次我运行它
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部分失败?非常新,正在尝试了解这一点-我缺少什么吗?您不需要声明那些顶级变量,参数应该是函数的局部变量。语法也是错误的,您应该使用分号,而不是逗号,
toString
成为一个全局变量,因为您忘记了使用var
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"
您需要的是this.toString
因此this
在内部工作并引用实例,或者更好的是,在原型上创建一个方法,以便可用于动物的所有实例:
function Animal(name,type) {
this.type = type;
this.name = name;
}
Animal.prototype.toString = function() {
return this.name + "is a " + this.type;
};
您不需要声明那些顶级变量,参数应该是函数的局部变量。