原型链
1.概念
原型在JavaScript是一个很重要的概念,它是面向对象可以继承的基础。知道吗,JavaScript的设计模式就是原型模式(二十三个经典设计模式之一),正是因为它有这个模式,所以它才十分的灵活。可以基于原型模式实现更多的面向对象设计模式。
2.什么是原型链?
原型链是原型的查找机制,是一条寻址链。其实原型上的方法或属性查找,都是按照一定的顺序沿着原型链进行查找的。如果查找到最后仍然没有找到这个原型和方法,那么就真的没有了
3.什么是原型指针?
原型指针是连接原型对象之间的地址桥梁,看下面的图你就会理解了
原型对象包括两部分,原型数据和原型指针。原型数据用来存储属性或方法,原型指针是为了验证原型链表进行查找
4.原型链规则
一个new出来的实例对象它的原型指针指向这个类的原型对象,这个类的原型对象指针默认指向Object原型对象
A是一个类,它new出来的实例a的原型指针指向A,而A的原型指针默认指向Object这个万物类。
换句话说这个原型链是从头到尾查找的,如果a原型上没有这个属性,那么就去找创造它的A,如果A原型上也没有,那么就去找Object这个万物类了,如果Object上的原型仍然没有,那么就真的没有了