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 相关文章推荐
javascript globalStorage类代码
Jun 04 Javascript
IE6下JS动态设置图片src地址问题
Jan 08 Javascript
JS操作Cookie写入和读取实例代码
Oct 20 Javascript
CSS图片响应式 垂直水平居中
Aug 14 Javascript
JavaScript动态创建div等元素实例讲解
Jan 06 Javascript
总结JavaScript三种数据存储方式之间的区别
May 03 Javascript
Winform客户端向web地址传参接收参数的方法
May 17 Javascript
jQuery组件easyui对话框实现代码
Aug 25 Javascript
JS实现图片垂直居中显示小结
Dec 13 Javascript
JS搜狐面试题分析
Dec 16 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
May 17 Javascript
vue+vant实现购物车全选和反选功能
Nov 17 Vue.js
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
php网站地图生成类示例
2014/01/13 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
php写app用的框架整理
2019/09/29 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
python登录QQ邮箱发信的实现代码
2013/02/10 Python
详解Python中的条件判断语句
2015/05/14 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
解决python "No module named pip" 的问题
2018/10/13 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
python hook监听事件详解
2018/10/25 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
TensorFlow实现自定义Op方式
2020/02/04 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
文化宣传方案
2014/03/13 职场文书
规范化管理年活动总结
2014/08/29 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
pytorch中的numel函数用法说明
2021/05/13 Python