原型和原型链

34 阅读1分钟

原型和原型链的介绍

function Proto(type) {
  this.type = type;
}
Proto.prototype.showType = function () {
  console.log("我是原型");
};
const proto = new Proto("prototype");
  • Proto.prototype 就是原型对象
  • 原型对象会有一个constructor属性,相当于指针,会指向Proto函数
  • proto是实例对象
  1. 每一个函数对象类型都会有一个prototype的属性,这个属性指向的对象就是原型对象。
  2. 原型对象:用来存放实例对象的一些公有属性和方法的
  3. 显示原型:利用prototype属性查找原型
  4. 隐示原型:__prototyp__属性查找原型,__proto__在一些浏览器上显示为[[prototype]],这个属性会指向实例对象的原型中Prototype
  5. 原型对象会有一个constructor属性,指向函数对象
console.log(Object.prototype === Proto.prototype.__proto__) // true
console.log(Proto.prototype === proto.__proto__)  // true
console.log(Proto.prototype.constructor === Proto)   // true

image.png