JavaScript继承方式实例

  

复制代码 代码如下:

  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);