怎样理解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这个属性来检测当前实例对象是哪个构造函数"生"的.

posted on 2019-10-14 14:55  aisowe  阅读(277)  评论(0编辑  收藏  举报

导航