JavaScript 原型 -1 - prototype属性->原型对象

每个函数都有一个prototype属性, 这个属性指向函数的原型对象

  • prototype 是函数才有的属性,切记,切记

  • 函数.prototype属性 ==> 函数.prototype对象

原型对象的构成

function Car(barnd){
  this.barnd = barnd;
}
Car.prototype.type = 'tool'

console.info(Car.prototype)
/*
 {
  type: "tool", // prototype
  constructor: ƒ Car(name), // constructor
  __proto__: Object // 构造器的原型
 }
*/

prototype属性的引入

为构造函数设置一个 prototype属性 , 这个属性包含一个对象(简称 prototype对象 )
所有 实例对象 需要 共享的属性和方法,都在这个对象中
不需要共享 的属性和方法,放在 构造函数
实例一旦创建,会自动引用 prototype对象的属性和方法。 也就是说, 实例对象的属性和方法,分成两种: 一种是本地的,一种是引用的

由于所有的实例对象共享同一个 prototype对象, 那么从外界看起来, prototype对象就好像是实例对象的原型,而实例对象则好像"继承"了prototype一样。

posted @ 2020-08-20 22:24  荣光无限  阅读(3)  评论(0)    收藏  举报