JS继承用法实例分析

时间: 作者:必进

  

[JS,继承,用法]JS继承用法实例分析

  

本文实例分析了JS继承的用法。分享给大家供大家参考。具体分析如下:  

  

继承 : 子类不影响父类,子类可以继承父类的一些功能 ( 代码复用 )  

  

属性的继承 : 调用父类的构造函数 call  

  

方法的继承 : for in : 拷贝继承 (jquery也是采用拷贝继承extend)  

  

1. 拷贝继承  

  
  
  function Person (name){  this.name = name;  }  Person.prototype.showName =function (){  alert(this.name);  }  function Worker(name,job){  Person.call(this,name);  this.job = job;  }  extend(Worker.prototype, Person.prototype);  //如果用Worker.prototype=Person.prototype的话,会造成引用相同的问题  function extend(obj1,obj2){  for(var i in obj2){  obj1[i] = obj2[i]  }  }  var coder = new Worker('magicfly','frontEnd');  coder.showName();  
  
  

2. 类继承   

  
  
  function Person (name){  this.name = name;  }  Person.prototype.showName =function (){  alert(this.name);  }  function Worker(name,job){  Person.call(this,name);  this.job = job;  }  //Worker.prototype 汇盛国际 = new Person();  // 这样继承会继承父级的不必要属性  function F(){};  F.prototype = Person.prototype;  Worker.prototype = new F();  //通过建立一个临时构造函数来解决 ,也称为代理函数  var coder = new Worker('MAGICFLY','START');  coder.showName();
  
  

3. 原型继承   

  
  
  var a = {  name : '小明'  };  var b = cloneObj(a);  b.name = '小强';  //alert( b.name );  alert( a.name );  function cloneObj(obj){  var F = function(){};  F.prototype = obj;  return new F();  }
  
  

适用情况  

  

拷贝继承: 通用型的 有new或无new的时候都可以  
  类式继承: new构造函数  
  原型继承: 无new的对象  

  

希望本文所述对大家的javascript程序设计有所帮助。

  

(责任编辑:admin)

推荐图片Related

相关文章Related

查看更多热门新闻


首页 | 特效插件 | 常用代码 | 样式素材 | 脚本代码 | css特效

Copyright © 2017-2018 汇盛国际 版权所有

系统要求:本站自适应各终端浏览器分辨率

请使用Google、Firefox、IE9、百度浏览器登录网站

网站地图 | RSS订阅 | 汇盛国际