您的位置:首页 > Web前端 > JavaScript

JavaScript继承实现方式一览

2008-06-01 22:47 661 查看
继承

类继承

类抄写

function parent(){

this.x=10;

}

function child(){

var parentObj=new parent();

for(var p in parentObj)this[p]=parentObj[p];

}

var childObj=new child();

alert(childObj.x);

类冒充

function parent(){

this.x=10;

}

function child(){

this.parent=parent;

this.parent();

delete this.parent;

}

var childObj=new child();

alert(childObj.x);

function parent(){

this.x=10;

}

function child(){

parent.call(this);

}

var childObj=new child();

alert(childObj.x);

原型抄写

function parent(){

}

parent.prototype.x=1;

function child(){

}

for(var p in parent.prototype)child.prototype[p]=parent.prototype[p];

child.prototype.y=2;

var childObj=new child();

alert(childObj.x);

元类继承

function parent(string){

var child=new Function("this.x=10;"+string);

return child;

}

var child=new parent("this.y=20;");

var childObj=new child();

alert(childObj.y);

原型继承

引用型原型继承

function parent(){

this.x=10;

}

function child(){

}

child.prototype=new parent();

var childObj=new child();

alert(childObj.x);

复制型原型继承

function parent(){

this.x=10;

}

function child(){

var ret=new parent();

ret.y=20;

return ret;

}

var childObj=new child();

alert(childObj.x);

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: