我想检查一个对象,看看是否存在carDoor
原型的任何实例
function carDoor(side) {
this.side = side;
}
var Car = {
"door1": new carDoor("left"),
"door2": new carDoor("right")
}
Car对象有门吗? - 如何检查适用于任何原型的方式?
假设您不知道或控制该属性的名称。
答案 0 :(得分:1)
您可以使用instanceof
运算符:
for (key in Car) {
if (Car.hasOwnProperty(key)) {
if (Car[key] instanceof carDoor) {
// ...
}
}
}
答案 1 :(得分:0)
在您的示例中,您可以执行以下操作:
Car.door1.constructor === carDoor;
这将返回true。
答案 2 :(得分:0)
你回答了你的问题..或者至少有一半,验证了Car
对象属性的构造函数,它将返回true。
if (Car.door2.constructor === carDoor)
// ...