找出prototypejs中对象的类

时间:2012-09-05 22:23:32

标签: javascript oop prototypejs prototype

我使用prototypejs Class API进行基于类的OOP。

有没有办法获取对象的类名?

EG:

var myDog = new Dog();
myDog.getClassName() //Should return "Dog"

1 个答案:

答案 0 :(得分:5)

如果您正在使用Prototypejs' create()函数创建类,你需要存储一个额外的属性来保存类的名称,因为唯一的引用到一个名为Dog的类是变量名您为其分配create()的结果:

var Dog = Class.create({
  className: "Dog",

  initialize: function() {
  }
});

var myDog = new Dog();
console.log(myDog.className); // "Dog"

另一方面,如果你用这些方面的东西来定义你的课程:

function Dog() {
}

然后,你可以使用Object#constructor

myDog.constructor.name; // "Dog"