每个对象都有属性__proto__,指向该对象的构造函数的原型对象[也就是prototype]。
还有prototype,指向该方法的原型对象
①__proto__和constructor属性是对象所独有的;
② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有proto和constructor属性。
let o1 = new Object();
console.log((o1.__proto__ === Object.prototype))//true
console.log(Object.prototype)//{}
console.log(Object.prototype.__proto__)//null
console.log(Object.prototype.constructor)//[Function: Object]
let o2 = {}
console.log(o2.prototype)//undefined