我们来看个例子:
function Person() { } var person = new Person(); console.log(person.constructor === Person) //true
其实person实例并没有constructor属性。
当我们试图读取person.constructor的时候,没读到constructor属性,会从person的原型(即“Person.prototype”)中读取,而原型中自然是有这个属性的。
于是就有:
person.constructor === Person.prototype.constructor