深入学习javascript继承之前,先了解下面的几个概念: 父类:被继承的类 子类:由继承得来的类 超类:也就是父类 抽象类:一般不用来实例化的类,它的用途是用来给其他类继承. 基类:提供给其他类可以继承的类 派生类:由基类继承而来的类 javascript对象继承通常有下面的5种方式: 1.对象冒充 2.call()方式 3.apply()方式 4.原型链 5.混合方式 A.对象冒充 所谓对象冒充,就是新的类冒充旧的类(旧的类必须采用构造函数方式),从而达到继承目的. eg.1 上面的例子中,people是用来做white_people的基类,记住这个格式是用来对象冒充达到继承目的的 this.inherit=people; //冒充 this.inherit(name,sex,age); //继承 delete this.inherit; //删除继承 所有新属性和新方法都必须再删除了继承后定义,这样是为了避免覆盖父类的相关属性和方法. 另外,对象冒充支持多继承. eg.2 对象冒充有一个不足的地方:多继承机制实现时,如果基类存在相同的属性或者方法,将从后面的类继承. B.call()方式 只是封装的对象冒充的一个函数.这样,我们不再需要写"经典"的三句话,而是用下面这句话代替: 基类.call(对象,参数列表) eg.1 同样,call()存在同名属性和方法的小问题. C.apply()方式 和call()一样.apply()也是对象冒充的一个封装函数.其格式为: 基类.apply(对象,参数数组); eg.1 同样,apply()存在同名属性和方法的小问题. D.原型链 上面三种方式都是采用构造函数方式的继承,对应地,也具有原型函数方式的继承:原型链. eg.1 原型链也具有了原型链的缺点:不能传递参数.另外,原型链不支持多继承,因为 E.混合方式 使用构造函数方式来写类的属性,对属性的继承采用call()或者apply() 使用原型方式来写的方法,对方法的继承采用原型链 eg.1
推荐整理分享JavaScript 继承使用分析(javascript中继承),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js继承方式,js中继承,javascript中继承,javascript继承原理,javascript继承原理,js继承的三种方法,js继承的三种方式,javascript中继承,内容如对您有帮助,希望把文章链接给更多的朋友!
关于js类的定义 遇到的问题,首先是js对象的封装,js没有提供类的机制,唯一的内置类是function类,也就是说所有的函数都是function类的实例化对象。不过依靠这个唯一
javascript复制对象使用说明 oldObj是一个对象,而不是值例如varnewObj=oldObj;如果想oldObj改变的时候不影响到newObj;可以这样写一个函数functionclone(myObj){if(typeof(myObj)!='object')returnmyObj;if(
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记) 关于javascript中类的继承可以参考阮一峰的Blog《Javascript继承机制的设计思想》,说的很透。一、在javascript中实例化遇到的问题:下面用《javascript高级