标题:【读书笔记】JavaScript面向对象精要(下)主页 > 聚微商 >

【读书笔记】JavaScript面向对象精要(下)

admin2020-03-15 06:24:57185人围观

  上一篇文章中我们对书的前三章停止了总结整顿~

  点击这里获得上一篇文章:?【读书笔记】JavaScript面向对象精要(上)

  这篇文章将整顿总结本书的最后三章内容,让我们完全明确的面向对象。

  结构函数是我们用创立对象时调用的函数,比如:、、等。结构函数同函数异样的定义方法,然则结构函数的首字母应当大年夜写,像如许:

  经过主动以结构函数创立出来的对象,其结构函数属性指向创立它的结构函数

  创立一个结构函数的目标是创立很多具有相反属性和方法的对象。

  结构函数其实不会消弭代码冗余。

  简直一切的函数都有一个属性,该属性是一个原型对象用来创立一个新的对象实例。一切创立的对象实例共享该原型对象,而且这些对象实例可以访问原型对象的属性。比如方法

  我们在上一章中总结过:操作符会检测自有属性和原型属性,而方法只会检测自有属性,所以我们可以依照这个思路写一个方法检测一个属功用否为原型属性:

  4.2.1 [[Prototype]]属性

  当我们用创立一个新的对象时,结构函数的原型对象被赋给该对象的属性,我们用一张图感触感染一下多个对象实例援用统一个原型对象是如何增加重复代码的

  

  我们可以用方法读取属性的值,可以用方法检查某个对象可否是另外一个对象的原型对象

  当我们读取一个对象的属性的时分,起首会查找该对象的自有属性,假设找到则前去值,假设没有找到,会接着查找对象的原型属性,假设找到则前去值,假设没有找到,终究前去。

  自有属性会掩饰原型属性,操作符仅对自有属性掉效。

  4.2.2 在结构函数中应用原型对象

  因为原型对象的可以共享,所以我们可以一次性为一切对象定义方法。将方法放在原型对象中并用访问是很好的一个方法。

  因为原型对象的共享性,在原型上定义属性能够会出现以下状况

  所以,我们在原型上定义属性要慎重!!!!

  我们可以直接用对象字面方法交换原型对象

  然则如许做会修改结构函数的属性,它会指向而不指向结构函数,

  属性是独有的。所认为了防止出现这类状况,我们需求手动设置属性

  4.2.3 修改原型对象