【发布时间】:2016-12-13 04:29:09
【问题描述】:
我尝试关注this previous question。
var Animal = function(){}
var Dog = function(){}
Dog.prototype = Object.create(Animal.prototype);
var dog = new Dog();
switch(dog.constructor){
case Dog:
console.log("Good Dog")
break;
default:
console.log("Bad Dog");
}
它记录了“Bad Dog”。
我做错了什么?
【问题讨论】:
-
使用
dog instanceof Dog -
@Deryck 在这种情况下,
dog instanceof dog和dog instanceof Animal都会产生真实的结果。 -
@Ayan ...这就是为什么它的顺序是
Dog然后default。如果它只是一个Animal,它就不会是一个instanceof Dog。
标签: javascript