让我说我有:
function Pet(){}
Pet.prototype.breathe = function(){}
并且
function Cat(){}
然后我继续做:
Cat.prototype = Object.create(Pet.prototype)
Cat.prototype.purr = function(){}
我知道我可以查看
var cat = new Cat()
console.log(cat instanceof Pet); //true
但是如何在没有实例化的情况下检查函数Cat
是否是Pet
的实例?
我能想到的最简单和最黑客的方式是......
Pet.prototype.$$pet = true
然后检查
console.log(Cat.prototype.$$pet) //true
但这看起来并不是很好,因为我可以一起去做
Cat.prototype.$$pet = true
答案 0 :(得分:1)
原来你可以实际使用
Cat.prototype instanceof Pet
MDN的instanceof示例显示了这个
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof