1,了解两个属性
__proto__:所有对象(包括函数)都有的属性,指向父级的原型对象(即 构造函数的prototype)
prototype:函数专有,是原型对象
(原型对象 也是个对象,对象的__proto__===Object.prototype)
2,普通对象
obj.__proto__===Object.prototype ;
Object.prototype.__proto__===null ; //顶层是null
3,普通函数
fun.__proto__===Function.prototype;
fun.prototype.__proto__===Object.prototype;//fun.prototype是个对象,即对象的 父级 原型
Function.prototype.__proto=Object.prototype; //同上
4,特殊
Function.__proto__===Function.prototype;
Object.__proto__===Fucntion.prototype;
Function和Object本身是个函数,指向函数的原型对象
Object.prototype.__proto__===null ; //顶层是null