请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

2回答

keviny79 2021-12-07 16:44:57
还有一个作用就是:增加中间层有效的避免了 .People.prototype  和 Son.Prototype 方法属性混在一起的问题,分工明确化了


0 回复 有任何疑惑可以回复我~
keviny79 2021-12-05 19:11:11

 这样做不可行,原因: 当People.prototype方法和属性很庞大时,这种不完全深拷贝带来的问题   1. 降低效率   2. 浪费一个多余的 People.prototype 空间  , 试想,如果时大项目,每次访问到这里,就要额外创建一个很大的People空间。。。。 而创建一个中间对象是一个空的构造函数,时间和空间都要小很多.


0 回复 有任何疑惑可以回复我~
  • 提问者 zhangkaili #1
    嗯嗯,确实,如果从内存空间的角度来讲,确实会浪费很大的内存空间.但是如果增加一个Middle构造函数作为中间层的话,原型链不是多了一层吗?假设ChinesePelple实例如果找一个方法,实例本身--> ChinesePelple.prototype(也就是new Middle())-->People.prototype。可以理解为您中间加一个Middle层的目的是为了少开辟一个对象空间吧,另一个作用是为了不影响通过People new出来的实例吧,所以必须给People.prototype重新赋值
    回复 有任何疑惑可以回复我~ 2021-12-06 00:48:39
  • keviny79 回复 提问者 zhangkaili #2
    还有一个作用就是:增加中间层有效的避免了 .People.prototype  和 Son.Prototype 方法属性混在一起的问题,分工明确化了
    回复 有任何疑惑可以回复我~ 2021-12-07 16:44:51
  • 提问者 zhangkaili 回复 keviny79 #3
    嗯嗯,是滴
    回复 有任何疑惑可以回复我~ 2021-12-07 23:10:46
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号