为什么newtoy.constructor === Gadget在控制台的结果是false?

function Gadget(name,color){

    this.name=name;

    this.color=color;

    this.whatAreYou=function(){

        return 'I am a ' + this.color + ' ' + this.name;

    };

}


Gadget.prototype={

    price:100,

    rating:3,

    getInfo:function(){

        return 'Rating: ' + this.rating + ', price: ' + this.price;

    }

};


var newtoy=new Gadget('webcam','black');

new.rating;//3

newtoy.constructor === Gadget;//true

上述例子摘自《面向对象编程指南》一书

慕娘9325324
浏览 387回答 1
1回答

慕容森

如果代码没写错的话,那么就是false,因为你已经把Gadget的原型对象给重写了,而你重写的原型对象中没有constructor属性,可以参考一下《JavaScript高级程序设计》中第六章关于原型的介绍
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript