JavaScript中的继承
-
构造函数继承(类继承)
-
原型继承
-
掺元类(拷贝继承)
构造函数继承的实现方式主要是借助于JavaScript中的 call , apply 方法可以绑定this的特点,以及使用 new 关键字生成实例,模仿传统的继承方式,而后者的继承才是JavaScript语言本身提倡的继承方式。相比于类继承,原型继承具有节约内存,效率较高等特点,代码也更优雅。下面以具体的例子来简单说明下三种继承的不同。
比如目前有两个类,分别是
function super(id){
this.superId = id;
}
和
function sub(name){
this.name = name;
}
要让sub继承super,使用类继承可以这样实现
function sub(id,name){
super.call(this,id);
this.name = name;
}
这样的方式也可以实现多重继承,只要多加几条 call 或者 appley 语句即可。
使用这种方法的缺点是每次实例化一个对象都会为对象中的属性和方法创建新的副本,浪费内存,而且这样的继承无法用 instanceof 操作符来判断。
服务范围:定制各类计算机程序设计,vue、jsp、java 各类框架;开发工具 eclipse / myeclipse / idea / vs 等;wap、android、ssm、springboot、asp.net、php、python(爬虫、django、flask)、node.js、react、winform、uniapp 小程序等。
