function Animal() {};
function Cat() {};
function Dog() { return new Animal};
Cat.prototype = new Animal;
console.log(new Dog instanceof Animal);//true为什么?
console.log(new Dog instanceof Dog);//false 为什么?
console.log(new Cat instanceof Animal);//true
Si le constructeur renvoie un "objet", alors cet objet remplacera l'intégralité du nouveau résultat. Si le constructeur ne renvoie pas d'objet, il le renverra par défaut, qui est l'instance
Dog
.一般构造函数不返回值的。function Dog() { return new Animal};new Dog()
等同于创建了Animal
. Je ne sais pas si mon analyse est correcte ou non.