1、每个函数都有prototype属性,他在定义函数时自动添加的。默认值是一个空的object对象
2、对象的__proto__属性:是在创建实例对象是自动添加的,默认值等于构造函数的prototype。
3、程序员本身自己可以直接操作显示原型,但是不能直接操作隐式原型(es6之前)
原型链的查找规则如下:
先查找自身是否有这个属性或者方法,没有就去构造函数原型对象prototype进行查找方法
大概总结:1.每个function函数都有一个prototype,即显式原型(属性)
2.每个实例对象都有__proto__,即为隐式原型(属性)
3.原型链是用来查找属性的,不是用来查找变量的
实例对象的隐式原型等于构造函数的显式原型
this.proto===Fn.prototype
所有的函数都是Function的实例对象
object的原型对象是原型链的尽头