原型及原型链

108 阅读1分钟

JavaScript深入之从原型到原型链

function Person() {

}

var person = new Person();

console.log(person.__proto__ == Person.prototype) // true
console.log(Person.prototype.constructor == Person) // true
// 顺便学习一个ES5的方法,可以获得对象的原型
console.log(Object.getPrototypeOf(person) === Person.prototype) // true

var obj = new Object();
obj.name = 'Kevin'
console.log(obj.name) // Kevin
console.log(Object.prototype.__proto__ === null) // true
  1. 构造函数原型 Person.prototype
  2. 实例对象的原型 person.__proto__
  3. 原型可以指向构造函数 Person.prototype.constructor == Person

原型.png

图中由相互关联的原型组成的链状结构就是原型链,也就是蓝色的这条线。