1、原型链世袭

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

3、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();

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

2、借用布局函数世袭

JS中的世袭关系是超级重大的技巧知识了,平日会用到,不打听的童鞋要求加速学习啊!

在Javascript中怎样贯彻持续关系的使用?Javascript世襲概念:js是依据对象的,他从没类的概念,所以实现持续,须要使用js的原型prototype机制仍然用applay和call方法完毕。

即子类经过prototype将具备在父类中经过prototype追加的习性和方法都增加到Child,进而完毕了继续

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

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

call方法是Function类中的方法

备注:在js中,被三番若干次的函数称为超类型,世袭的函数称为子类型。

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();

call方法的第一个参数开端挨家挨户赋值给类所担负的参数

5、组合世襲

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

A、第一个参数与call方法的率先个参数同样,即赋值给类中现身的this

apply方法选取2个参数,

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

B、第一个参数为数组类型,这么些数组中的每种成分依次赋值给类所承当的参数

总结

相关文章

网站地图xml地图