js封装可使用的构造函数继承用法分析


Posted in Javascript onJanuary 28, 2015

本文实例讲述了js封装可使用的构造函数继承用法。分享给大家供大家参考。具体如下:

先来看下面这段代码

(YUI)库所用的方法:

function extend(Child, Parent) {


var F = function(){};


F.prototype = Parent.prototype;


Child.prototype = new F();


Child.prototype.constructor = Child;


Child.uber = Parent.prototype;

}

另外还有一种拷贝继承方法,属性拷贝:

这种方法与之前的不同,由于已经完成对child的原型进行扩展,不需要再重置child.prototype.constructor属性了,因为它不会再被覆盖。

与之前的方法相比,这个方法在效率上显然略孙一筹。因为这里执行的是对子对象原型的逐一拷贝。而非简单的原型链查询。

这种方式仅适用只包含基本数据类型的对象,所有的对象类型包括函数和数组,都是不可复制的,他们只支持引用传递。

function extend2(Child, Parent) {

var p = Parent.prototype;


var c = Child.prototype;


for (var i in p) {



c[i] = p[i];



}


c.uber = p;

}

var Shape = function(){}

var TwoDShape = function(){}

Shape.prototype.name = 'shape';

Shape.prototype.toString = function(){

 return this.name;

}

extend2(TwoDShape,Shape);

var t = new TwoDShape();

t.name

//-->"shape"

t.toString();

//-->"shape"

TwoDShape.prototype.name = 'TwoDShape';

t.name

//-->"2d shape"

t.toString();

//-->"2d shape"
TwoDShape.prototype.toString === Shape.prototype.toString

//-->true

TwoDShape.prototype.name === Shape.prototype.name

//-->false

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

Javascript 相关文章推荐
JS读取XML文件示例代码
Nov 15 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
Dec 10 Javascript
JQuery CheckBox(复选框)操作方法汇总
Apr 15 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
May 05 Javascript
JS在onclientclick里如何控制onclick的执行
May 30 Javascript
ES6中Math对象新增的方法实例详解
Apr 25 Javascript
基于EasyUI的基础之上实现树形功能菜单
Jun 28 Javascript
JavaScript闭包的简单应用
Sep 01 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
Sep 07 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
Dec 28 Javascript
angularjs select 赋值 ng-options配置方法
Feb 28 Javascript
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
js超时调用setTimeout和间歇调用setInterval实例分析
Jan 28 #Javascript
javascript原型链继承用法实例分析
Jan 28 #Javascript
Jquery 实现图片轮换
Jan 28 #Javascript
javascript查询字符串参数的方法
Jan 28 #Javascript
Jquery 实现弹出层插件
Jan 28 #Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
Jan 28 #Javascript
Jquery 实现table样式的设定
Jan 28 #Javascript
You might like
基于mysql的论坛(5)
2006/10/09 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
php创建类并调用的实例方法
2019/09/25 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
javascript 自动转到命名锚记
2009/01/10 Javascript
js文件中调用js的实现方法小结
2009/10/23 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
2017/04/13 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
原生JS实现前端本地文件上传
2018/09/08 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
在Python中处理时间之clock()方法的使用
2015/05/22 Python
python如何查看系统网络流量的信息
2016/09/12 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
教师现实表现材料
2014/02/14 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
人民调解员培训方案
2014/06/05 职场文书
标准毕业生自荐信
2014/06/24 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android