Object constructor

1. Object is an instance of Function.
2. Object does not have a property called constructor so when we call Object.constructor, it actually gives us Object.[[prototype]].constructor (akaObject.__proto__.constructor).
3.Object.constructor (aka Object.__proto__.constructor) is an instance of Function.
4. Since both Object and Object.constructor (aka Object.__proto__.constructor) are instances of Function therefore they both have   a  __proto__  property which refer to the same object. In other wordsObject.__proto__ ===  Object.constructor.__proto__ (aka Object.__proto__.constructor._proto_)
5.The line Object.constructor===Object.constructor.constructor is actually equal to the lineObject.__proto__.constructor===Object.constructor.__proto__.constructor
6. combining steps 4 and 5 give us Object.constructor===Object.constructor.constructor
7. goto step4
所以:Function.constructor == Function.prototype.constructor 返回 true.

原文地址:https://www.cnblogs.com/taogao3364/p/9943967.html