一、原型指向
结构:原型是一个对象,在原型中通常拥有两个属性:
(1)构造器constructor:该属性指向了这个类本身
(2)原型指向:——proto——:该属性指向原型本身,提供给通过类创建的对象使用
console.log(lb.__proto__ == Person.prototype);
eg:
function Person(userName, sex) {
this.userName = userName;
this.sex = sex;
}
console.log(Person.prototype);//Object { … }
var lb = new Person('李白', '男');
console.log('--->', lb.__proto__);//Object { … }
console.log(lb.__proto__ == Person.prototype);//true
二、原型链
1、定义:由【对象的__proto__属性】和【对象的构造函数的原型的__proto__属性】构成的链式结构称为原型链。
2、注意:
①原型的终点是object的原型,object的原型的原型是null;
②对象查找属性值时,首先在对象内部查找;没有时去原型中查找;再没有时延原型链