要搞清楚原型链,首先清楚对象.
对象分为两种:普通对象和函数对象.
函数对象:通过new Function()创建出来的对象都是函数对象,函数对象有prototype属性,指向函数的原型对象,比如Array(),Object()等都是函数对象.
除了函数对象之外的都是普通对象.
原型对象:原型对象是包含特定类型的所有实例共享的属性和方法。原型对象的好处是,可以让所有实例对象共享它所包含的属性和方法。
第一块中有提到,原型对象属于普通对象。Function.prototype是个例外,它是原型对象,却又是函数对象,作为一个函数对象,它又没有prototype属性。
原型链是实现继承的主要方法: