深入了解js原型
function Person(){
this.name = '张三'
}
Person.prototype.name = 'Kevin';
let obj = new Person()
Person 就是一个构造函数,我们使用 new 创建了一个实例对象 obj
此时想要访问原型上的name,可以利用实例对象 obj.name
-
prototype
每个函数都有一个 prototype 属性
每一个JavaScript对象(null除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型"继承"属性。
顺便学习一个ES5的方法,可以获得对象的原型
console.log(Object.getPrototypeOf(obj) === Person.prototype) // true -
proto
每一个JavaScript对象(除了 null )都具有的一个属性,叫proto,这个属性会指向该对象的原型
console.log(obj.proto === Person.prototype); // true -
constructor
每个原型都有一个 constructor 属性指向关联的构造函数 实例原型指向构造函数
console.log(Person === Person.prototype.constructor); // true