设置新原型后的一个问题,很是困惑
代码如下:
function Mammal() {
this.isMammal = 'yes';
}
function MammalSpecies(sMammalSpecies) {
this.species = sMammalSpecies;
}
MammalSpecies.prototype = new Mammal();
console.log(MammalSpecies.prototype) // ①
console.log(MammalSpecies.prototype.constructor) // ②
MammalSpecies.prototype.constructor = MammalSpecies;
问题:
在Chrome 59的console端查看输出:
①的输出是
Mammal {isMammal: "yes"}
constructor:function MammalSpecies(sMammalSpecies)
isMammal:"yes"
__proto__:Object
似乎constructor已经仍旧保持不变
但是,②的输出却已经变了,如下面
function Mammal() {
this.isMammal = 'yes';
}
是chrome的bug,导致①的输出有问题?
又或者是有其它的解释呢
百思不得其解,望高手回复