威尼斯888_www.wns888.com_威尼斯wns888官网
做最好的网站
威尼斯888 > 计算机网络 / Web前端 > 在Javascript中如何实现继承关系的应用

原标题:在Javascript中如何实现继承关系的应用

浏览次数:157 时间:2020-01-25

在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方法的第二个参数开始依次赋值给类所接受的参数

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中的继承关系是很重要的技术知识了,经常会用到,不了解的童鞋需要加紧学习哦!

本文由威尼斯888发布于计算机网络 / Web前端,转载请注明出处:在Javascript中如何实现继承关系的应用

关键词:

上一篇:首先需要如图所示的鼠标图标文件

下一篇:Sublime Text 的特色功能