参数问题

参数问题

这里的参数传一个父类不就代表,以一个父类的原型为原型了吗

这里怎么传了一个父类的原型,不成了以父类的原型的原型为原型了吗


https://img1.sycdn.imooc.com//climg/632804f409b8a81114000292.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,理解有误,参考如下解析理解:

1、Object.create() 方法创建一个新对象,传入参数对象代表新创建对象的原型。

2、传入父类,那表示将父类作为新创建对象的原型,并不是父类的原型为原型,不符合要求,所以传入的参数应该是父类的原型,即:superType.prototype,这样将其赋值给子类原型后,子类的原型就指向了父类的原型,实现了继承。

祝学习愉快!


  • 张小阳_ 提问者 #1

    那为啥可以单独传进去一个对象就可以呢?

    var obj2 = Object.create(obj1);

    它就会以obj1对象为原型。而构造函数不可以

    2022-09-19 14:19:17
  • 好帮手慕慕子 回复 提问者 张小阳_ #2

    问题解答如下:

    1、Object.create()方法传入的参数默认就会作为新创建对象的原型。

    2、因为构造函数实现实现继承依赖原型链,如果直接传入构造函数,那么就是将构造函数本身作为新创建对象的原型,而构造函数本身并不在原型链上,所以要传入构造函数的原型。

    祝学习愉快~

    2022-09-19 15:33:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师