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对象

转载于:https://www.cnblogs.com/zzp0320/p/7245138.html

构造函数的五种继承方法相关推荐

  1. js 中的五种继承方法

    正式发布的ES6中已经封装实现了其他OO语言中的继承形式,Class Extends,这里主要记录js的原型继承和借用构造函数继承 一.原型链继承 function Super(){this.name ...

  2. java中的五种排序方法_用Java排序的五种有用方法

    java中的五种排序方法 Java排序快速概述: 正常的列表: private static List VEGETABLES = Arrays.asList("apple", &q ...

  3. linux安装 中文乱码怎么解决方法,Linux安装GBK/GB2312程序显示乱码的五种解决方法...

    不少用户在Linux系统中安装GBK或GB2312的时候遇到了乱码问题,这主要是系统默认语言是uft8所导致,对于该问题可用五种方法进行解决,接下来是小编为大家收集的Linux安装GBK/GB2312 ...

  4. python list方法说明_对python中list的五种查找方法说明

    Python中是有查找功能的,五种方式:in.not in.count.index,find 前两种方法是保留字,后两种方式是列表的方法. 下面以a_list = ['a','b','c','hell ...

  5. python list find函数_对python中list的五种查找方法说明

    Python中是有查找功能的,五种方式:in.not in.count.index,find 前两种方法是保留字,后两种方式是列表的方法. 下面以a_list = ['a','b','c','hell ...

  6. 服务器系统记事本乱码,win7系统记事本出现乱码的五种解决方法

    win7系统自带有记事本功能,它是一个简单的文字编辑器,用户可直接打开记事本记录文字,相信大家对雨林木风win7系统的记事本在熟悉不过.然而有不少win7系统用户在打开记事本的时候出现乱码,这是怎么回 ...

  7. 小米路由器显示无法连接到服务器,小米路由无法连接WIFI的五种解决方法【图解】...

    越洋帮路由网原创:文章是关于"小米路由无法连接WIFI的五种解决方法[图解]"的相关知识分享,希望可以帮到大家. - 素材来源网络 编辑:小易.小米路由连接WIFI无法上网该怎么办 ...

  8. Jetson Nano主板的五种联网方法

    Jetson Nano主板的五种联网方法 写在前面 联网方法 设备情况 RJ45接口联网 方法1(需要路由器) 方法2(麻烦但可用) USB接口联网 方法3(最简单的方法) 方法4 (成本低易上手) ...

  9. win11内存完整性不兼容驱动程序的五种删除方法

    win11内存完整性不兼容的驱动程序怎么删除?win11的驱动不兼容的话,可能会导致软件或者游戏无法正常运行,也会导致Windows安全中心中的内核隔离--内核完整性功能无法开启.那么win11内存完 ...

最新文章

  1. python公共操作(运算符(+、*、in、not in)、公共方法(len()、del、max()、min()、range()、enumerate())、类型转换(tuple、list、set))
  2. 【性能优化】小伙伴问我性能指标监控怎么做,这次我安排上了!!
  3. 【Android 面试基础知识点整理】
  4. Java执行main方法,异常为:could not find the main class.program will exit
  5. 【UVA624 01背包中的路径问题】
  6. Visual Studio Code 里针对 SAP Commerce Cloud Impex 文件的语法高亮扩展
  7. 在BurpSuite中安装Jython环境
  8. PyCharm调试错误
  9. 【Java】总结Integer类的API
  10. html无序列表中的正方形点点,CSS 有序或者无序列表的前面的标记 list-style-type 属性的实现...
  11. Headers and client library minor version mismatch.
  12. 零基础学python大概要多久-怎么自学python,大概要多久?
  13. [沫沫金原创]Sql中跨库访问和同库跨用户访问区别
  14. 线性代数第6章答案(仅供参考!!!)
  15. 程序员培训去哪里?哪里学习程序员
  16. 用python从gbff文件中提取cds序列
  17. WebRtc以Trickle ICE形式去进行pair
  18. 基于DHT11的温湿度显示
  19. ubuntu 22.04 通过xmodmap修改键盘映射
  20. IE兼容性问题汇总【持续更新中】

热门文章

  1. python圆面积函数_Python基础函数必学
  2. nvidia控制面板点了没反应win7_win7系统Nvidia控制面板怎么设置?
  3. JVM——CPU缓存架构与Java 内存模型
  4. 高通cpu排行_安卓手机芯片排行:麒麟990 5G仅排第三,980还输给了765G?
  5. wireshark 查看端口是否正常_网络抓包软件-Wireshark使用分享
  6. HTML+CSS+JS实现 ❤️经典霓虹灯英文字母特效❤️
  7. mysql 分表后排序_MySQL优化分库分表,为什么要分表,分表以后如何进行排序查询,业务如何设计?...
  8. vue封装websocket_有关WebSocket必须了解的知识
  9. html 页面元素id不唯一,规定html元素的唯一的id属性
  10. Java反射机制API