创建一个类并调用它的属性(javascript)

时间:2014-05-01 07:53:36

标签: javascript class object

因此,我们的想法是创建一个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部分失败了?很新,并试图了解这一点 - 有什么我想念的吗?

2 个答案:

答案 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"