Logo
Section 1 / 11

JavaScript 和对象

学习并练习 JavaScript 中对象的基本概念。

导入

JavaScript 和对象

学习并练习 JavaScript 中对象的基本概念。

什么是对象?

在非编程的意义上思考对象,就像我们周围看到的有形事物一样。以一支笔为例:一支笔可以有不同的墨水颜色,由不同的人制造,笔尖也各不相同,还有许多其他属性。

类似地,在编程中,一个对象就是一个具有属性的实体。每个属性定义了对象的一个特征。属性可以是与对象相关联的信息(如笔的颜色),也可以是对象能够执行的动作(如笔的书写能力)。

...
笔作为对象

这和代码有什么关系?

面向对象编程(简称 OOP)是一种使用对象来编写程序的方法。在使用 OOP 时,你编写、创建和修改对象,这些对象构成了你的程序。

OOP 改变了程序的编写和组织方式。到目前为止,你一直在编写基于函数的代码,有时也称为过程式编程:这是一种编程范式,基于过程调用的概念。过程(一种例程或子程序)仅包含一系列需要执行的计算步骤。现在让我们学习如何编写面向对象的代码。

JavaScript 与对象

和许多其他语言一样,JavaScript 支持通过对象进行编程。它提供了多个预定义的对象,同时也允许你创建自己的对象。

创建对象

以下是蓝色 Bic 圆珠笔在 JavaScript 中的表示:

1const pen = { 2 type: "ballpoint", 3 color: "blue", 4 brand: "Bic" 5};

如前所述,可以通过在一对大括号 {...} 内设置属性来创建 JavaScript 对象。每个属性都是一个键值对。这被称为对象字面量。

大括号闭合后的分号 ; 是可选的,但为了安全起见,建议加上。

上述代码定义了一个名为 pen 的变量,其值是一个对象:因此可以说 pen 是一个对象。这个对象有三个属性:type、color 和 brand。每个属性都有一个名称和一个值,并用逗号 , 分隔(最后一个属性除外)。

访问对象的属性

创建对象后,你可以使用点表示法(如 myObject.myProperty)来访问其属性的值。

1const pen = { 2 type: "ballpoint", 3 color: "blue", 4 brand: "Bic" 5}; 6 7console.log(pen.type); // "ballpoint" 8console.log(pen.color); // "blue" 9console.log(pen.brand); // "Bic"

访问对象属性是一种产生值的表达式。这种表达式可以嵌入更复杂的表达式中。例如,以下是如何在一条语句中显示笔的所有属性。

1const pen = { 2 type: "ballpoint", 3 color: "blue", 4 brand: "Bic" 5}; 6 7console.log(`我用一支 ${pen.color} 的 ${pen.brand} ${pen.type} 笔写字`);

修改对象

一旦创建了对象,就可以使用语法 myObject.myProperty = newValue 来更改其属性的值。

1const pen = { 2 type: "ballpoint", 3 color: "blue", 4 brand: "Bic" 5}; 6 7pen.color = "red"; // 修改笔的颜色属性 8 9console.log(`我用一支 ${pen.color} 的 ${pen.brand} ${pen.type} 笔写字`);

JavaScript 还支持动态地向已创建的对象添加新属性。

1const pen = { 2 type: "ballpoint", 3 color: "blue", 4 brand: "Bic" 5}; 6 7pen.price = "2.5"; // 设置笔的价格属性 8 9console.log(`我的笔价格是 ${pen.price}`);

编写函数

面向对象编程