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


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 相关文章推荐
Z-Blog中用到的js代码
Mar 15 Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 Javascript
鼠标滑在标题上显示图片的JS代码
Nov 19 Javascript
JavaScript实现更改网页背景与字体颜色的方法
Feb 02 Javascript
jquery实现Ctrl+Enter提交表单的方法
Jul 21 Javascript
Node.js巧妙实现Web应用代码热更新
Oct 22 Javascript
Google 地图API资料整理及详细介绍
Aug 06 Javascript
微信小程序 保留小数(toFixed)详细介绍
Nov 16 Javascript
js实现表单提交后不重新刷新当前页面
Nov 30 Javascript
JavaScript实现的商品抢购倒计时功能示例
Apr 17 Javascript
JS库之Waypoints的用法详解
Sep 13 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 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
PHP 高手之路(二)
2006/10/09 PHP
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
[IE&FireFox兼容]JS对select操作
2007/01/07 Javascript
javascript中的有名函数和无名函数
2007/10/17 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
vue-loader教程介绍
2017/06/14 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
2019/09/01 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
用python写asp详细讲解
2013/12/16 Python
一看就懂得Python的math模块
2018/10/21 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
python区块及区块链的开发详解
2019/07/03 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
cf收人广告词大全
2014/03/14 职场文书
导游个人求职信范文
2014/03/23 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
大班下学期幼儿评语
2014/12/30 职场文书
提档介绍信范文
2015/10/22 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript