我使用prototypejs Class API进行基于类的OOP。
有没有办法获取对象的类名?
EG:
var myDog = new Dog();
myDog.getClassName() //Should return "Dog"
答案 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"