深入学习js继承的实现
来源:爱站网时间:2020-07-07编辑:网友分享
我们都知道JS的功能不像其他语言那样强大,但是也有着自己的特色,这也是别的语言不能超越的,下面爱站技术频道小编就给大家深入学习js继承的实现,大家应该注意的细节有哪些?
我们都知道JS的功能不像其他语言那样强大,但是也有着自己的特色,这也是别的语言不能超越的,下面爱站技术频道小编就给大家深入学习js继承的实现,大家应该注意的细节有哪些?
base.js --继承的实现==========================
【注】:继承后,如果父类是一个类,则会继承其属性,方法(包括用prototype声明的),静态方法,否则只有属性和方法。
Object.prototype.extendf= function (a,b){
if(!a||!b) return;
var fa = typeof a=="function";
var fb = typeof b=="function";
var cha = function(a,b){
for(var c in b){
if(a[c]==undefined)//子类重写
a[c]=b[c];
}
return a;//返回继承后的对象
}
if(fa&&fb){
b.apply(this,a.arguments);
cha(a,b);
this["base"] =new b;//通过base访问父类
return cha(this,b.prototype);
}
else if(!fa&&fb){
cha(a,new b);
a["base"]= new b;
return cha(a,b);
}else if(fa&&!fb){
cha(a,b);
this["base"]=b;
return cha(this,b);
}else if(!fa&&!fb){
a["base"]=b;
return cha(a,b);
}
}
测试页:用法
js测试:
上述是爱站技术频道小编为大家带来的深入学习js继承的实现,大家了解了吗?学习是为了让自己的项目变得越来越好,越来越强大。