function a(){};
function b(){};
let aobj = new a();
let bobj = new b();
// a.prototype.ccc="4564645"
console.info(a.prototype == aobj.__proto__)//true
console.log("实例的prototype",aobj.prototype);//undefined 实例实际是个对象,对象有__proto__,没有prototype
console.log("函数本身的prototype",a.prototype);//{constructor:f}
console.log("实例的__proto__",aobj.__proto__);//{constructor:f}
console.log("函数本身的__proto__",a.__proto__);//就返回一个函数
console.log(a.prototype.constructor == aobj.__proto__.constructor);//true
console.log(a.prototype.constructor == aobj.constructor);//true
console.log(a == aobj.constructor);//true
// b.prototype.__proto__和a.prototype.__proto__是null
// bobj.prototype.和aobj.prototype.是undefined
console.log(aobj.__proto__ == bobj.__proto__);//false
//aobj.__proto__ 和 bobj.__proto__ 中的 constructor 是不一样的,aobj的构造函数是函数a,bobj的构造函数是函数b
仅仅是函数相关的prototype和__proto__。