怎样理解prototype对象的constructor属性

function Person(name){
    this.name = name;
}

var lilei = new Person("Lilei");

lilei.constructor === Person; // true
lilei instanceof Person; // true
lilei instanceof lilei.constructor; // true
lilei instanceof Person.prototype.constructor; // true

上面这段代码表明: prototype对象的constructor属性指向当前实例对象的构造函数. 

也就是说, constructor属性其实是反映了实例对象与构造函数之间的关系, 就好比是给孩子做DNA鉴定, 我们可以通过constructor这个属性来检测当前实例对象是哪个构造函数"生"的.

猜你喜欢

转载自www.cnblogs.com/aisowe/p/11671495.html