,采用函数封装以特定接口(相同的属性和方法)创建对象的过程。...继承
什么是原型链
ECMA中继承的主要方法就是通过原型链,主要是一个原型对象等于另一个类型的实例,由于实例内部含有一个指向构造函数的指针,这时候相当于重写了该原型对象,此时该原型对象就包含了一个指向另一个原型的指针...__proto__ === Object.prototype); // true
构造函数模式和原型模式组合继承
只通过原型来实现继承,还存在一定问题,所以js中一般通过借用构造函数和原型组合的方式来实现继承...,也是本篇最重要的内容:
1.属性继承
在子构造函数内,使用apply()或call()方法调用父构造函数,并传递子构造函数的this
2.方法继承
使用上文提到的原型链继承,继承父构造器的方法
上代码...方法继承,就是上文讲的到的原型链机制继承,另外可以给子构造函数添加自己的属性和方法。
这就是经典继承,避免了但是使用构造函数或者单独使用原型链的缺陷,成为js中最常用的继承方式。