对象与数组¶
对象基础¶
在JavaScript中,对象是一种复合数据类型,它允许你将多个值(可以是基本数据类型或其他对象)组合在一起。对象是键值对的集合,其中每个键(也称为属性)都映射到一个值。对象是JavaScript中非常重要的概念,因为它们允许你以结构化的方式组织和操作数据。
创建对象¶
在JavaScript中,你可以使用多种方式创建对象。最常见的方式是使用对象字面量(Object Literal)语法。
示例1:使用对象字面量创建对象¶
// 创建一个空对象
let person = {};
// 创建一个包含属性的对象
let person = {
name: "Alice", // 键为 "name",值为 "Alice"
age: 25, // 键为 "age",值为 25
isStudent: true // 键为 "isStudent",值为 true
};
console.log(person.name); // 输出: Alice
console.log(person.age); // 输出: 25
在这个示例中,我们使用对象字面量语法创建了一个包含三个属性的对象。每个属性都有一个键和一个值,键和值之间用冒号分隔,属性之间用逗号分隔。
示例2:使用构造函数创建对象¶
除了对象字面量,你还可以使用构造函数来创建对象。
// 使用构造函数创建对象
function Person(name, age, isStudent) {
this.name = name;
this.age = age;
this.isStudent = isStudent;
}
// 创建一个新的Person对象
let person = new Person("Bob", 30, false);
console.log(person.name); // 输出: Bob
console.log(person.age); // 输出: 30
在这个示例中,我们定义了一个构造函数Person
,然后使用new
关键字创建了一个新的Person
对象。构造函数允许你创建具有相同结构的多个对象。
访问对象属性¶
你可以使用点符号(.
)或方括号([]
)来访问对象的属性。
示例3:访问对象属性¶
let person = {
name: "Alice",
age: 25,
isStudent: true
};
// 使用点符号访问属性
console.log(person.name); // 输出: Alice
// 使用方括号访问属性
console.log(person["age"]); // 输出: 25
在这个示例中,我们展示了如何使用点符号和方括号来访问对象的属性。点符号更简洁,但方括号允许你使用变量作为属性名。
修改对象属性¶
你可以通过赋值来修改对象的属性。
示例4:修改对象属性¶
let person = {
name: "Alice",
age: 25,
isStudent: true
};
// 修改属性值
person.age = 26;
person["isStudent"] = false;
console.log(person.age); // 输出: 26
console.log(person.isStudent); // 输出: false
在这个示例中,我们修改了person
对象的age
和isStudent
属性。
添加和删除属性¶
你可以随时向对象添加新属性,也可以删除现有属性。
示例5:添加和删除属性¶
let person = {
name: "Alice",
age: 25
};
// 添加新属性
person.job = "Developer";
// 删除属性
delete person.age;
console.log(person.job); // 输出: Developer
console.log(person.age); // 输出: undefined
在这个示例中,我们向person
对象添加了一个新属性job
,并删除了age
属性。
练习题¶
-
简单题:创建一个对象
car
,包含属性make
、model
和year
,并打印出model
的值。 -
中等题:创建一个构造函数
Book
,它接受title
、author
和pages
作为参数,并创建一个新的Book
对象。 -
复杂题:创建一个对象
student
,包含属性name
、age
和grades
(一个包含多个成绩的数组)。编写一个函数calculateAverage
,计算并返回student
的平均成绩。
总结¶
- 对象是JavaScript中的一种复合数据类型,用于存储键值对。
- 你可以使用对象字面量或构造函数来创建对象。
- 使用点符号或方括号来访问对象的属性。
- 你可以通过赋值来修改对象的属性。
- 你可以随时添加或删除对象的属性。
通过掌握这些基础知识,你将能够有效地使用JavaScript中的对象来组织和操作数据。