时间:15-05-31 栏目:Javascript, web前端 作者:zongyan86 评论:0 点击: 2,509 次
js常用的继承方式,主要有以下几种:
1.拷贝继承(通用)
属性继承:子类构造函数中调用 父类.call(this,属性)
方法继承:for in->extend() 参考jquery的extend方法
function extend(obj1,obj2){
for(var attr in obj2){
obj1[attr]=obj2[attr];
}
}
2.类式继承(有new方式)
function Aaa(){ //父类
this.name = [1,2,3];
}
Aaa.prototype.showName = function(){
alert( this.name );
};
function Bbb(){ //子类
Aaa.call(this);//属性继承
}
var F = function(){}; //特殊属性处理,如数组
F.prototype = Aaa.prototype; //特殊属性处理
Bbb.prototype = new F();
Bbb.prototype.constructor = Bbb; //修正指向问题
3.原型继承(无new方式)
function cloneObj(obj){
var F = function(){};
F.prototype = obj;
return new F();
}
web前端开发 分享