所有的对象都拥有proto属性,它指向对象构造函数的 prototype 属性
let obj = {}
obj.__proto__ === Object.prototype // true
function Test(){}
test.__proto__ == Test.prototype // true
所有的函数都同时拥有proto和 protytpe 属性 函数的proto指向自己的函数实现 函数的 protytpe 是一个对象 所以函数的 prototype 也有proto属性 指向 Object.prototype
function func() {}
func.prototype.__proto__ === Object.prototype // true
Object.prototype.proto指向 null
Object.prototype.__proto__ // null