gpt4 book ai didi

javascript - 如何查找使用 Dojo 声明创建的类的类型?

转载 作者:行者123 更新时间:2023-12-03 10:53:33 25 4
gpt4 key购买 nike

我正在使用 Dojo 中的 declare 定义的 "class" 创建一个对象。

我需要检查该对象的类型(类名)。

目前我在原型(prototype)中使用属性declaredClass

declaredClass 是检查类型的正确方法吗? Dojo有什么更好的方法或方法吗?

 define(["dojo/_base/declare", "my/Person"], function(declare, Person){
return declare(Person, {
constructor: function(name, age, residence, salary){
// The "constructor" method is special: the parent class (Person)
// constructor is called automatically before this one.

this.salary = salary;
},

askForRaise: function(){
return this.salary * 0.02;
}
});
});

最佳答案

这取决于您要尝试做什么。如果需要检查类是否属于某种类型,可以使用以下代码:

myObject.isInstanceOf(Person);

例如:

require(["dojo/_base/declare"], function(declare) {
var Mammal = declare(null, {
constructor: function(name) {
this.name = name;
},
sayName: function() {
console.log(this.name);
}
});
var Dog = declare(Mammal, {
makeNoise: function() {
console.log("Waf waf");
}
});

var myDog = new Dog("Pluto");
myDog.sayName();
myDog.makeNoise();

console.log("Dog: " + myDog.isInstanceOf(Dog));
console.log("Mammal: " + myDog.isInstanceOf(Mammal));
});

这将返回 true 两次,因为 myDogDog 的实例,也是 Mammal 的实例.

关于javascript - 如何查找使用 Dojo 声明创建的类的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28342254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com