构造函数的五种继承方法
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
构造函数的五种继承方法相关推荐
- js 中的五种继承方法
正式发布的ES6中已经封装实现了其他OO语言中的继承形式,Class Extends,这里主要记录js的原型继承和借用构造函数继承 一.原型链继承 function Super(){this.name ...
- java中的五种排序方法_用Java排序的五种有用方法
java中的五种排序方法 Java排序快速概述: 正常的列表: private static List VEGETABLES = Arrays.asList("apple", &q ...
- linux安装 中文乱码怎么解决方法,Linux安装GBK/GB2312程序显示乱码的五种解决方法...
不少用户在Linux系统中安装GBK或GB2312的时候遇到了乱码问题,这主要是系统默认语言是uft8所导致,对于该问题可用五种方法进行解决,接下来是小编为大家收集的Linux安装GBK/GB2312 ...
- python list方法说明_对python中list的五种查找方法说明
Python中是有查找功能的,五种方式:in.not in.count.index,find 前两种方法是保留字,后两种方式是列表的方法. 下面以a_list = ['a','b','c','hell ...
- python list find函数_对python中list的五种查找方法说明
Python中是有查找功能的,五种方式:in.not in.count.index,find 前两种方法是保留字,后两种方式是列表的方法. 下面以a_list = ['a','b','c','hell ...
- 服务器系统记事本乱码,win7系统记事本出现乱码的五种解决方法
win7系统自带有记事本功能,它是一个简单的文字编辑器,用户可直接打开记事本记录文字,相信大家对雨林木风win7系统的记事本在熟悉不过.然而有不少win7系统用户在打开记事本的时候出现乱码,这是怎么回 ...
- 小米路由器显示无法连接到服务器,小米路由无法连接WIFI的五种解决方法【图解】...
越洋帮路由网原创:文章是关于"小米路由无法连接WIFI的五种解决方法[图解]"的相关知识分享,希望可以帮到大家. - 素材来源网络 编辑:小易.小米路由连接WIFI无法上网该怎么办 ...
- Jetson Nano主板的五种联网方法
Jetson Nano主板的五种联网方法 写在前面 联网方法 设备情况 RJ45接口联网 方法1(需要路由器) 方法2(麻烦但可用) USB接口联网 方法3(最简单的方法) 方法4 (成本低易上手) ...
- win11内存完整性不兼容驱动程序的五种删除方法
win11内存完整性不兼容的驱动程序怎么删除?win11的驱动不兼容的话,可能会导致软件或者游戏无法正常运行,也会导致Windows安全中心中的内核隔离--内核完整性功能无法开启.那么win11内存完 ...
最新文章
- python公共操作(运算符(+、*、in、not in)、公共方法(len()、del、max()、min()、range()、enumerate())、类型转换(tuple、list、set))
- 【性能优化】小伙伴问我性能指标监控怎么做,这次我安排上了!!
- 【Android 面试基础知识点整理】
- Java执行main方法,异常为:could not find the main class.program will exit
- 【UVA624 01背包中的路径问题】
- Visual Studio Code 里针对 SAP Commerce Cloud Impex 文件的语法高亮扩展
- 在BurpSuite中安装Jython环境
- PyCharm调试错误
- 【Java】总结Integer类的API
- html无序列表中的正方形点点,CSS 有序或者无序列表的前面的标记 list-style-type 属性的实现...
- Headers and client library minor version mismatch.
- 零基础学python大概要多久-怎么自学python,大概要多久?
- [沫沫金原创]Sql中跨库访问和同库跨用户访问区别
- 线性代数第6章答案(仅供参考!!!)
- 程序员培训去哪里?哪里学习程序员
- 用python从gbff文件中提取cds序列
- WebRtc以Trickle ICE形式去进行pair
- 基于DHT11的温湿度显示
- ubuntu 22.04 通过xmodmap修改键盘映射
- IE兼容性问题汇总【持续更新中】
热门文章
- python圆面积函数_Python基础函数必学
- nvidia控制面板点了没反应win7_win7系统Nvidia控制面板怎么设置?
- JVM——CPU缓存架构与Java 内存模型
- 高通cpu排行_安卓手机芯片排行:麒麟990 5G仅排第三,980还输给了765G?
- wireshark 查看端口是否正常_网络抓包软件-Wireshark使用分享
- HTML+CSS+JS实现 ❤️经典霓虹灯英文字母特效❤️
- mysql 分表后排序_MySQL优化分库分表,为什么要分表,分表以后如何进行排序查询,业务如何设计?...
- vue封装websocket_有关WebSocket必须了解的知识
- html 页面元素id不唯一,规定html元素的唯一的id属性
- Java反射机制API