您的位置:时时彩走势图 > 时时彩走势图web前端 > 在Javascript中如何实现继承关系的应用

在Javascript中如何实现继承关系的应用

2020-01-31 09:12

在Javascript中什么贯彻三回九转关系的运用?Javascript世袭概念:js是依照对象的,他不曾类的定义,所以完毕持续,须要利用js的原型prototype机制依旧用applay和call方法实现。

1、原型链世袭

即子类经过prototype将具有在父类中通过prototype追加的属性和措施都增到Child,进而达成了持续

为了让子类世袭父类的属性,首先须要定义叁个布局函数。然后,将父类的新实例赋值给构造函数的原型。

functionparent(){ this.name="garuda";}functionchild(){ this.sex="man"}child.prototype=newparent();//核心:子类继承父类,通过原型形成链条vartest=newchild();console.log;console.log;

备考:在js中,被一而再的函数称为超类型,世袭的函数称为子类型。

行使原型世襲存在八个难点:一是面量重写原型会中断关系,使用援引类型的原型,二是子类型还不或许给超类型传递参数

2、借用布局函数世襲

functionparent(){ this.name="garuda";}functionchild;//核心:借父类型构造函数增强子类型}vartest=newparent();console.log;

3、call(卡塔尔方法方式

call方法是Function类中的方法

call方法的首先个参数的值赋值给类中出现的this

call方法的第3个参数伊始挨门逐户赋值给类所收受的参数

functiontest{alert(this.name+""+str);}varobject=newObject();object.name="zhangsan";test.call(object,"langsin");//此时,第一个参数值object传递给了test类中出现的this,而第二个参数"langsin"则赋值给了test类的strfunctionParent{this.username=username;this.hello=function(){alert;}}functionChild{Parent.call;this.password=password;this.world=function(){alert;}}varparent=newParent;varchild=newChild("lisi","123456");parent.hello;child.world();

4、apply(卡塔尔国方法情势

apply方法选择2个参数,

A、第多个参数与call方法的首先个参数同样,即赋值给类中冒出的this

B、第三个参数为数组类型,这么些数组中的种种成分依次赋值给类所接收的参数

functionParent{this.username=username;this.hello=function(){alert;}}functionChild{Parent.apply(this,newArray;this.password=password;this.world=function(){alert;}}varparent=newParent;varchild=newChild("lisi","123456");parent.hello;child.world();

5、组合世襲

functionparent(){ this.name="garuda";}functionborther(){ returnthis.name;}functionchild}child.prototype=newparent;console.log

总结

JS中的世襲关系是很关键的本事知识了,日常会用到,不理解的童鞋须要加速学习啊!

本文由时时彩走势图发布于时时彩走势图web前端,转载请注明出处:在Javascript中如何实现继承关系的应用

关键词: