js原型学习

js中所有对象都存在一个隐式原型_ _proto_ _,指向创建这个对象的函数的原型prototype;

而函数的原型prototype都是Object函数的一个对象,也有隐式原型,指向的就是Object的原型,

Object的原型的隐式原型指向null;

每一个函数的原型都指向这个函数的构造函数;

每一个函数(包括Function本身)都是函数Function的对象,它们的隐式原型, 指向Function的原型;

图片引自王福朋的播客:http://www.cnblogs.com/wangfupeng1988/p/3979533.html

 当访问js对象的属性和方法时,首先找直接定义的基本方法;如果基本方法中没有,就通过对象的隐式原型去找创建这个对象的方法的原型中有没有,如果也没有,继续通过创建这个对象的方法的原型对象的隐式原型找Object的原型中有没有;

原文地址:https://www.cnblogs.com/pf1988/p/7150311.html