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(); deletethis.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(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);