补充:
js中说一切都是对象,是不完全的,在js中6种数据类型(Undefined,Null,Number,Boolean,String,Object)中,前五种是基本数据类型,是原始值类型,这些值是在底层实现的...属性查找机制
js中实例属性的查找,是按照原型链进行查找,先找实例本身有没有这个属性,如果没有就去查找查找实例的原型对象,也就是[[prototype]]属性指向的原型对象,一直查到Object.prototype...,也是本篇最重要的内容:
1.属性继承
在子构造函数内,使用apply()或call()方法调用父构造函数,并传递子构造函数的this
2.方法继承
使用上文提到的原型链继承,继承父构造器的方法
上代码...call()调用Parent(),在new Child()创建实例的时候,执行Parent中的代码,而此时的this已经被call()指向Child中的this,所以新建的子实例,就拥有了父实例的全部属性...方法继承,就是上文讲的到的原型链机制继承,另外可以给子构造函数添加自己的属性和方法。
这就是经典继承,避免了但是使用构造函数或者单独使用原型链的缺陷,成为js中最常用的继承方式。