首页 新闻 会员 周边

js原型链的困惑

0
[已解决问题] 解决于 2019-05-13 11:00

经常在网上看到说要在多个实例加方法,可以在原型上加方法,我很困惑,为什么不直接在构造函数上加方法,也是一样的效果

爱吃巧克力的狗的主页 爱吃巧克力的狗 | 初学一级 | 园豆:104
提问于:2019-05-12 11:42
< >
分享
最佳答案
0

加在原型链上可以保证说有的子孙对象都可以访问到

奖励园豆:5
会长 | 专家六级 |园豆:12401 | 2019-05-13 09:39

谢谢你的帮助,还有个问题想请教下,我看网上说你把所有实例公用的方法放在原型上,因为每个实例公用一个方法所以可以节省内存,这种说法是正确的吗,有一次面试,面试官听到我说这句话就反问我你确定可以吗,你到底有没有用过

爱吃巧克力的狗 | 园豆:104 (初学一级) | 2019-05-13 09:53

@爱吃巧克力的狗: 我对JS不是很熟啊,基本没用过,建议你看一本小书:《悟透JavaScript》,是博客园里大神写的。https://www.cnblogs.com/leadzen/ 这本书的特点就是篇幅较小,但是关键点都说到了

会长 | 园豆:12401 (专家六级) | 2019-05-13 10:01

@会长: 谢谢你的帮助

爱吃巧克力的狗 | 园豆:104 (初学一级) | 2019-05-13 10:03
其他回答(1)
0

确定可以省内存。
如果不加在原型上,那么每产生一个对象,就会多产生一个方法(虽然他们的名称相同,但是却不是同一个,这个同一个是指在内存中的地址不同)。
如果加在原型上,无论产生多少个对象,都只有那一个方法,并不会再次生成一个同名的方法,也就不会多占内存了。

寻觅beyond | 园豆:923 (小虾三级) | 2019-05-13 10:58

你这么说我就放心了,谢谢

支持(0) 反对(0) 爱吃巧克力的狗 | 园豆:104 (初学一级) | 2019-05-13 11:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册