关于JS中继承

继承,我理解就是把所有实例可能用到的属性和方法抽出来,单独放在一个“超类”中,一方面避免重复写代码,另一方面也会节省内存。
如果单独用原型继承,引用值的处理是个问题

如果单独用call(或者apply)实现代码调用完成继承,方法没法处理,每个实例都会独立生成一份方法,造成重复。
所以,一把把二者结合起来:
1.用call调用的办法实现属性值的继承,同时还可以传参数。
2.用原型继承实现方法的继承,可以用类似遮盖的方法重写超类的方法。

有一个小缺点,就是子类的原型是超类的实例,属性值实际上有两份,一份是通过call得来的,另一份是通过原型继承来的。

posted @   充实地生活着  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2015-11-08 【转】JavaScript面向对象
点击右上角即可分享
微信分享提示