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

js的原型属性prototype仅仅就是为共享属性与方法吗

js的原型属性prototype仅仅就是为共享属性与方法吗

阿里斯托亚 2017-07-09 22:17:00
直接将共享的方法与属性写在构造函数里不也能被实例对象共享?干嘛非得用prototype
查看完整描述

1 回答

已采纳
?
RuthlessPotato丶

TA贡献19条经验 获得超9个赞

如果要继承呢?继承其实就是把共有的属性方法用prototype 这个对象定义一次,然后就可以重复使用,减少内存占用,代码冗余。如果每个子类里面定义一遍,实例化后每个对象都有重复的东西,那么每个对象占用的内存太大了,不符合面向对象重用的思想。就给他单独定义一个对象prototype 保存公有代码,用原型_proto_来引用。

查看完整回答
反对 回复 2017-07-10
  • 阿里斯托亚
    阿里斯托亚
    我的理解就是相对于在构造函数内声明属性与方法,prototype只是更节约内存 这样理解对不对 如果prototype也是每创建一个实例对象 就占用一点内存 是不是就和构造函数一样 显的多余了
  • RuthlessPotato丶
    RuthlessPotato丶
    节约内存,实现继承,达到类的效果,三个目的
  • 1 回答
  • 0 关注
  • 1749 浏览
慕课专栏
更多

添加回答

举报

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