js对象的三角恋关系是什么(简单易懂)?
日期:2019-11-04
来源:程序思维浏览:1504次
javascript对象的三角恋关系就是:构造函数(constructor)-原型对象(Person.prototype)-原型对象的构造函数(Person.prototype.constructor)
1.每个"构造函数"中都有一个默认的属性, 叫做prototype,prototype属性保存着一个对象, 这个对象我们称之为"原型对象"。
2.每个"原型对象"中都有一个默认的属性, 叫做constructor,constructor指向当前原型对象对应的那个"构造函数"
3.通过构造函数创建出来的对象我们称之为"实例对象",每个"实例对象"中都有一个默认的属性, 叫做__proto__,__proto__指向创建它的那个构造函数的"原型对象",即构造函数prototype===实例对象.__proto__。
看看下面的代码示例:
function Person(myName, myAge) {
this.name = myName;
this.age = myAge;
}
let obj1 = new Person("lnj", 34);
console.log(Person.prototype);
console.log(Person.prototype.constructor);
console.log(obj1.__proto__);
console.log(Person.prototype===obj1.__proto__);//true
console.log(Person.prototype.constructor===obj1.constructor);//true
精品好课