一、原型:原型是一个对象,是function函数的一个属性,它定义了构造函数制造出的对象可以继承该原型的属性和方法。在JavaScript中,创建一个函数,浏览器会在内存中创建一个对象。这个对象就是函数的原型对象,简称原型。
1、所有函数对象都有一个prototype属性,指向原型对象。
2、所有原型对象都有一个constructor属性,指向函数本身。
3、使用构造函数创建对象:
所有对象中都有一个自带属性:__proto__,并且指向创建它的对象的原型对象。
二、原型链:所有原型构成的链条就叫原型链。
1、所有函数都有一个原型对象,所有的原型对象都是object对象创建的。
其中有两个特殊的__proto__:
(1)function函数的__proto__指向function原型对象
(2)object原型的__proto__为null