JS继承用法实例分析


Posted in Javascript onFebruary 05, 2015

本文实例分析了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程序设计有所帮助。

Javascript 相关文章推荐
JavaScript触发器详解
Mar 10 Javascript
基于Asp.net与Javascript控制的日期控件
May 22 Javascript
JavaScript入门之对象与JSON详解
Oct 21 Javascript
node.js中的fs.open方法使用说明
Dec 17 Javascript
php+ajax+jquery实现点击加载更多内容
May 03 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
Apr 19 Javascript
BootStrap树状图显示功能
Nov 24 Javascript
js自定义瀑布流布局插件
May 16 Javascript
基于angular实现模拟微信小程序swiper组件
Jun 11 Javascript
AngularJS中使用three.js的实例详解
Jul 21 Javascript
vue自动化表单实例分析
May 06 Javascript
layui 对table中的数据进行转义的实例
Sep 12 Javascript
Javascript实现Web颜色值转换
Feb 05 #Javascript
JS表的模拟方法
Feb 05 #Javascript
JS的数组迭代方法
Feb 05 #Javascript
js实现照片墙功能实例
Feb 05 #Javascript
js实现仿百度瀑布流的方法
Feb 05 #Javascript
JS函数this的用法实例分析
Feb 05 #Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
Feb 05 #Javascript
You might like
PHP 中dirname(_file_)讲解
2007/03/18 PHP
浅析php数据类型转换
2014/01/09 PHP
php生成word并下载代码实例
2019/03/15 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
js如何取消事件冒泡
2013/09/23 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
低版本中Python除法运算小技巧
2015/04/05 Python
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
Python过滤列表用法实例分析
2016/04/29 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
Python logging模块进行封装实现原理解析
2020/08/07 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
澳大利亚珍珠首饰购物网站:Vayo Pearls
2019/03/11 全球购物
PHP笔试题
2012/02/22 面试题
建筑个人求职信范文
2014/01/25 职场文书
环保守法证明
2015/06/24 职场文书
环境卫生整治简报
2015/07/20 职场文书
环保建议书作文400字
2015/09/14 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
Pytorch可视化的几种实现方法
2021/06/10 Python
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android