继承

继承的两种方式:
1)原型链继承: 孩子的原型等于父亲的实例。
child.prototype=new Parent();
备注: a、子构造函数的原型上扩展方法如果和父亲的原型方法一样,子构造函数的覆盖父构造函数的,但是不能修改父构造函数。
b、子构造函数原型方法的扩展必须要在继承的后面,否则不生效。

对象名 instanceof Object true
对象名 instanceof 构造函数名 true
对象名 instanceof 父构造函数名 true

对象名.constructor== 构造函数名 1)扩展的 构造函数名.prototype.work=function(){}
2) 构造函数.prototype.constructor=构造函数

对象名.constructor== Object true 构造函数.prototype=new F1() { }
2)借用构造函数继承
call()
apply()
父构造函数.call(this,参数1,参数2....)
父构造函数.apply(this,[参数1,参数2....])
父构造函数.apply(this,arguments)
传参:
1)只能继承实例属性,不能继承原型方法.

组合继承:把原型链和借用构造函数继承称为组合继承。
特点:借用构造函数继承实例属性,原型链继承原型上的方法。

 

posted @ 2018-06-19 19:39  maps..xy  阅读(79)  评论(0编辑  收藏  举报