我知道我可以像这样检查一个对象是否包含任何原型的实例:
for (var key in obj) {
if ((obj[key] instanceof head) || (obj[key] instanceof body)) {
console.log("Key Accepted: " + obj[key]);
}
}
我知道我可以检查一个对象是否是对象列表的成员:
var fruitBasket = ["Banana", "Orange", "Apple", "Mango"];
if (fruitBasket.indexOf("Apple") !== -1) {
console.log("There's an apple in this fruit basket!");
}
但是我如何检查一个对象是否是某个原型集的实例呢?
如果你的浏览器支持它(IE9+),你可以使用some
类/函数数组
var obj = ...,
result = [Array, Number, Foo].some(function(clas) { return obj instanceof clas; });
如果obj
是Array
、Number
或Foo
的一个实例,则result
将是true
。
如果没有some
方法,您可以使用for
简单地遍历数组。