JavaScript面向对象(一)

时间:2021-10-04 16:20:11

1. 什么是面向对象

这里所说的对象,是从英语object翻译过来。*被翻译成物件,大陆翻译为对象。所谓对象,其实就是一个东西。事实上这是站在哲学的角度提出来的一种编程思想。我们的世界就是由各种各样的东西组成的,例如:汽车,建筑,人等各种各样。

         以前我们学习C语言的时候,我们说C语言是一门面向过程的语言。例如之前用C语言来做ATM机程序的时候,虽然我们将其拆分为了各个函数,但是始终还是由存钱,取钱等模块组成的,关心的是动作,或者说是行为。但是面向对象就不一样了,我们关心的重点是ATM机这个对象。ATM机这个对象具有存钱,取钱这些功能。这就是区别!

 

2. 什么是类与对象

所谓类,就是对对象的一种分类。类与对象的关系类似于模具与实在的东西之间的关系。换句话说:我们可以通过类来制造出一个对象。类是一个抽象的概念,而对象是一个实实在在存在的东西.

再比如说:一个图书馆有成千上万本书,这些书就可以看做是一个一个对象。但是这些书不是杂乱无章的放在一起的,而是进行了分类。例如历史类,哲学类,小说类。我们可以往某一个类里面添加一本新的书。但是这本书必须就具有该类的特征。

 

3. 面向对象编程的特点

         一般来讲,面向对象编程会被分为3大特点:封装,继承和多态,但是在有的地方,面向对象被分为了4大特点,除了上面的3个以外,还增加了一个抽象。

 

4. JavaScript面向对象特点

         前面所讲的面向对象相关知识就是Java,C#,C++等高级语言的面向对象的思想。但是,JavaScript的面向对象的实现和其他高级语言的面向对象有所不同。JavaScript与其说是面向对象,不如说是基于对象。因为JavaScript里面一切皆为对象。其次,JavaScript里面没有类(class)这个关键字。(在最新的ES6里面已经有了)。

 

5.JavaScript创建对象

JavaScript中创建对象这里介绍6种。

① 使用object构造函数

object是JavaScript里面所有类的基类。换句话说,JavaScript里面所有的对象都是从object类派生出来的。使用object,可以创建自定义数据类型和对象。最早的程序员就是通过这种方式来创建的。如下:

 JavaScript面向对象(一)

我们可以给对象添加相应的属性和行为。如下:

 JavaScript面向对象(一)

这种方式有缺点,我们没有对person这个对象进行封装。这就会导致我们每创建一个对象,就又要书写一次属性和方法,这样子很麻烦。

② 使用对象字面量

也就是我们的JSON(JavaScript Object Notation)。用大括号括起来,用逗号来分隔 属性/值。后面跟一个冒号以及属性值来进行指定。

JavaScript面向对象(一)

6. 访问对象属性

访问对象属性是通过一个点.来进行访问

JavaScript面向对象(一)

除了上面的方法,我们还有一种方法,通过["属性名"]

 JavaScript面向对象(一)

两种方法相比之下,第二种更加灵活,但是在开发中第一种用得最多。

JavaScript面向对象(一)

7. 对象相关操作符

for-in

作用:用来遍历一个对象,打印出该对象的属性和方法

 JavaScript面向对象(一)

this关键字

this始终代表调用它的那个对象

 JavaScript面向对象(一)