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 相关文章推荐
超级简单的图片防盗(HTML),好用
Apr 08 Javascript
append和appendTo的区别以及appendChild用法
Dec 24 Javascript
jquery实现弹出层遮罩效果的简单实例
Mar 03 Javascript
浅谈JavaScript字符串拼接
Jun 25 Javascript
JavaScript纯色二维码变成彩色二维码
Jul 23 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
May 18 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
Jul 17 Javascript
ReactNative页面跳转Navigator实现的示例代码
Aug 02 Javascript
Web开发使用Angular实现用户密码强度判别的方法
Sep 27 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
Apr 17 Javascript
Vue实战教程之仿肯德基宅急送App
Jul 19 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
Nov 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
透析PHP的配置文件php.ini
2006/10/09 PHP
php Undefined index的问题
2009/06/01 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
jquery命令汇总,方便使用jquery的朋友
2012/06/26 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
AngularJS实现的锚点楼层跳转功能示例
2018/01/02 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
Python 堆叠柱状图绘制方法
2019/07/29 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
python3排序的实例方法
2020/10/20 Python
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
shallow copy和deep copy的区别
2016/05/09 面试题
高中生毕业自我鉴定范文
2013/12/22 职场文书
中医专业职业生涯规划书范文
2014/01/04 职场文书
美德好少年主要事迹
2014/01/29 职场文书
优秀小学生家长评语
2014/01/30 职场文书
小学生元旦广播稿
2014/02/21 职场文书
小学数学国培感言
2014/03/10 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers