JavaScript对象上

Posted sameen1900

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript对象上相关的知识,希望对你有一定的参考价值。

  • 基于类:先有类,然后从类实例化对象,类与类之间又可能会形成继承、组合等关系。类又往往与语言的类型系统整合,形成一定编译时的能力。
  • 基于原型的面向对象系统通过“复制”的方式来创建新对象。一些语言的实现中,还允许复制一个空对象。这实际上就是创建一个全新的对象。

javascript 并非第一个使用原型的语言,在它之前,self、kevo 等语言已经开始使用原型来描述对象了

原型系统的“复制操作”有两种实现思路

  • 一个是并不真的去复制一个原型对象,而是使得新对象持有一个原型的引用;
  • 另一个是切实地复制对象,从此两个对象再无关联。

JavaScript 显然选择了前一种方式。

JavaScript 的原型

如果所有对象都有私有字段[[prototype]],就是对象的原型;

读一个属性,如果对象本身没有,则会继续访问对象的原型,直到原型为空或者找到为止。

  • ES6 以来,JavaScript 提供了一系列内置函数,以便更为直接地访问操纵原型。三个方法分别为:
  • Object.create 根据指定的原型创建新对象,原型可以是 null;
  • Object.getPrototypeOf 获得一个对象的原型;
  • Object.setPrototypeOf 设置一个对象的原型。

利用这三个方法,我们可以完全抛开类的思维,利用原型来实现抽象和复用。

下一篇我们将追溯一下早年的 JavaScript 中的原型和类

此文章为3月Day08学习笔记,内容来源于极客时间《重学前端》,推荐该课程。

以上是关于JavaScript对象上的主要内容,如果未能解决你的问题,请参考以下文章

数据表,Javascript和Json

FindBugs : EI_EXPOSE_REP 背后的真正威胁

javascript 事件大全讲解

python学习day——18

JavaScript基础 鼠标放上触发事件onmouseover 鼠标移开触发事件onmouseout

抑制 Java Findbugs 错误 (EI_EXPOSE_REP)