<!--
****函数原型****
1函数的prototype属性
每个函数都有一个prototype属性 默认指向一个空object空对象 (原型对象)
原型对象中有一个属性constructor 指向函数对象
2给原型对象 添加属性(一般是方法)
函数的所有实例对象自动拥有所有原型中的属性(方法)
****显式原型 隐式原型****
每个函数function都有一个prototype即显式原型
每个对象都有一个__proto__即隐式原型
*对象的隐式原型值为其构造函数的显式原型的值
程序员能直接操作显式原型 不能直接操作隐式原型(ES6之前)
****原型链****
访问一个对象的属性时 先在自身属性查找 找到返回
如果没有再沿着__proto__这条链向上查找 找到返回
如果最终没找到,到尽头Object的__proto__ 返回undefined
隐式原型链
查找对象的属性
所有函数的__proto__都是一样的 都是new Function
函数的显式原型对象指向对象 默认空的Object实例对象
但Object不满足
所有函数都是Function的实例 包含Function
Object的原型对象是原型链的尽头,为null
****原型链_属性问题****
读取对象的属性值时,自