为了账号安全,请及时绑定邮箱和手机立即绑定

新手上路,prototype和constructure区别求解答!

新手上路,prototype和constructure区别求解答!

月关宝盒 2019-08-17 20:50:23
functionfn(){this.say=function(){}}fn.prototype.say=function(){}这两种方式有什么区别呢,具体一点
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

在构造函数中创建的每个方法,都要在每个实例上重新创建一遍,也就是说不同实例上的同名函数是不相等的,无法实现函数复用,而在原型上的方法是被所有实例所共享的。可以了解一下JavaScript中的继承。
                            
查看完整回答
反对 回复 2019-08-17
?
三国纷争

TA贡献1804条经验 获得超7个赞

这样理解吧如果把say函数在fn构造函数里声明的话所有fn的实例都会占一份say的内存如果是通过prototype这是占用一份内存在fn.prototype上
                            
查看完整回答
反对 回复 2019-08-17
  • 2 回答
  • 0 关注
  • 313 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信