<script type="text/javascript">
'use strict'
function Animal(name, age){
this.name = name
this.age = age
this.say=function(){
console.log(this)
if (this instanceof Cat)
{console.log("I'm a cat.")}
else
{console.log("I'm a dog")}
}
}
function Cat(name, age){
this.name= name
this.age = age
}
function Dog(name, age){
this.name= name
this.age = age
}
let animal = new Animal('小花', 1)
Cat.prototype = animal
var cat = new Cat("喵喵", 20)
cat.say()
Dog.prototype = animal
var dog = new Dog("大黄", 2)
dog.say()
console.log(dog instanceof Dog)
</script>
上述代码中,为什么调用say之后输出的都是I'm a cat,而不是I'm a cat 和I'm a dog?问题出在哪里?