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


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 相关文章推荐
XML+XSL 与 HTML 两种方案的结合
Apr 22 Javascript
jQuery chili图片远处放大插件
Nov 30 Javascript
javascript校验价格合法性实例(必须输入2位小数)
May 05 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
Aug 27 Javascript
详解jQuery lazyload 懒加载
Dec 19 Javascript
原生js实现焦点轮播图效果
Jan 12 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
Dec 04 Javascript
vue拖拽组件使用方法详解
Dec 01 Javascript
微信小程序实现的五星评价功能示例
Apr 25 Javascript
vue如何限制只能输入正负数及小数
Jul 04 Javascript
JS 自执行函数原理及用法
Aug 05 Javascript
Vue文本模糊匹配功能如何实现
Jul 30 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实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
验证手机号码的JS方法分享
2013/09/10 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
实例代码讲解jquery easyui动态tab页
2015/11/17 Javascript
jquery replace方法去空格
2017/05/08 jQuery
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
Javascript文本框脚本实现方法解析
2020/10/30 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
Python搜索引擎实现原理和方法
2017/11/27 Python
详解python3中tkinter知识点
2018/06/21 Python
破解安装Pycharm的方法
2018/10/19 Python
Python中修改字符串的四种方法
2018/11/02 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
新东网科技Java笔试题
2012/07/13 面试题
好的自荐信的要求
2013/10/30 职场文书
高中生自我评价个人范文
2013/11/09 职场文书
yy结婚证婚词
2014/01/10 职场文书
运动会通讯稿150字
2014/02/15 职场文书
房产公证书范本
2014/04/10 职场文书
优秀员工评优方案
2014/06/13 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
生日寿星公答谢词
2015/09/29 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL