ind*_*man 4 javascript oop prototype prototypejs
我使用prototypejs Class API进行基于类的OOP.
有没有办法获取对象的类名?
例如:
var myDog = new Dog();
myDog.getClassName() //Should return "Dog"
Run Code Online (Sandbox Code Playgroud)
如果您使用Prototypejs create()函数来创建类,则需要存储一个附加属性来保存类的名称,因为对名为class 的唯一引用Dog是您为其分配结果的变量名create():
var Dog = Class.create({
className: "Dog",
initialize: function() {
}
});
var myDog = new Dog();
console.log(myDog.className); // "Dog"
Run Code Online (Sandbox Code Playgroud)
另一方面,如果您使用以下内容定义您的类:
function Dog() {
}
Run Code Online (Sandbox Code Playgroud)
然后,你可以使用Object#constructor:
myDog.constructor.name; // "Dog"
Run Code Online (Sandbox Code Playgroud)