基于构造函数的五种继承方法小结


Posted in Javascript onJuly 27, 2017

1.使用call或apply绑定构造函数

animal.apply(this.arguments)

2.使用prototype属性

Cat.prototype = new Animal();


Cat.prototype.constructor = Cat;


var cat1 = new Cat("大毛","黄色");


alert(cat1.species); // 动物

3.直接集成prototype属性

function Animal(){ }


Animal.prototype.species = "动物";

 


Cat.prototype = Animal.prototype;


Cat.prototype.constructor = Cat;


var cat1 = new Cat("大毛","黄色");


alert(cat1.species); // 动物

4.利用空对象作为中介

var F = function(){};


F.prototype = Animal.prototype;


Cat.prototype = new F();

 
Cat.prototype.constructor = Cat;


将上面的方法封装成一个函数,便于使用:



function extend(Child, Parent) {




var F = function(){};




F.prototype = Parent.prototype;




Child.prototype = new F();




Child.prototype.constructor = Child;




Child.uber = Parent.prototype;



}

5.拷贝继承

function extend2(Child, Parent) {


var p = Parent.prototype;


  var c = Child.prototype;



for (var i in p) {




c[i] = p[i];




}



c.uber = p;


}

这个函数的作用,就是将父对象的prototype对象中的属性,一一拷贝给Child对象的prototype对象。

以上这篇基于构造函数的五种继承方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript初学者常用技巧
Sep 02 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 Javascript
jquery使用经验小结
May 20 Javascript
JavaScript通过事件代理高亮显示表格行的方法
May 27 Javascript
jquery限定文本框只能输入数字(整数和小数)
Jan 08 Javascript
不定义JQuery插件 不要说会JQuery
Mar 07 Javascript
js返回顶部实例分享
Dec 21 Javascript
浅谈vue.js导入css库(elementUi)的方法
Mar 09 Javascript
vue用递归组件写树形控件的实例代码
Jul 19 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
May 28 Javascript
在Vue中创建可重用的 Transition的方法
Jun 02 Javascript
JavaScript实现弹出窗口效果
Dec 09 Javascript
vue中各组件之间传递数据的方法示例
Jul 27 #Javascript
微信小程序 页面跳转传值实现代码
Jul 27 #Javascript
JS实现按钮控制计时开始和停止功能
Jul 27 #Javascript
关于JavaScript中forEach和each用法浅析
Jul 27 #Javascript
Easyui使用Dialog行内按钮布局的实例
Jul 27 #Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
Jul 27 #Javascript
js实现日期显示的一些操作(实例讲解)
Jul 27 #Javascript
You might like
example1.php
2006/10/09 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
2013/07/01 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
Vue2.0如何发布项目实战
2017/07/27 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
2019/10/09 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
Python数据处理numpy.median的实例讲解
2018/04/02 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
Python 支付整合开发包的实现
2019/01/23 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
环境工程求职简历的自我评价范文
2013/10/24 职场文书
商务邀请函范文
2014/01/14 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
导游词400字
2015/02/13 职场文书
用人单位聘用意向书
2015/05/11 职场文书
数学备课组工作总结
2015/08/12 职场文书