
JavaScript Objects 对象
在本教程中,您将了解 JavaScript 对象以及如何有效地操作对象属性
在本教程中,您将了解 JavaScript 对象以及如何有效地操作对象属性。
JavaScript 对象简介
在 JavaScript ,对象是键值对的无序集合。每个键值对称为一个属性。
属性的键可以是字符串。属性的值可以是任何值,例如字符串、数值、数组,甚至是函数。
JavaScript 为您提供了多种创建对象的方法。最常用的一种是使用对象字面量创建对象。
代码 let empty = {}; 使用对象字面量创建一个空对象:
let empty = {};要创建具有属性的对象,请在大括号内使用 key:value。例如,以下代码创建person 对象:
let person = { firstName: 'John', lastName: 'Doe'};person 对象有两个属性 firstName 和 lastName 具有相应的值 'John' 和 'Doe'。
当一个对象有多个属性时,您可以像上面的示例一样使用逗号 , 来分隔它们。
访问属性
要访问对象的属性,您可以使用两种表示法之一:点表示法和类似数组的表示法。
点符号 .
下面说明如何使用点符号来访问对象的属性:
objectName.propertyName例如,要访问 person 对象的 firstName 属性,可以使用表达式 person.firstName:
person.firstName此示例创建一个 person 对象并向控制台打印名字和姓氏:
let person = {
firstName: 'John',
lastName: 'Doe'
};
console.log(person.firstName);
console.log(person.lastName);数组符号 [ ]
下面说明了如何通过类似数组的表示法访问对象属性的值:
objectName['propertyName']例如:
let person = {
firstName: 'John',
lastName: 'Doe'
};
console.log(person['firstName']);
console.log(person['lastName']);当属性名称包含空格时,您需要将其放在引号内。例如,address 对象的 'building no' 属性:
let address = {
'building no': 3960,
street: 'North 1st street',
state: 'CA',
country: 'USA'
};要访问'building no'属性,您需要使用类似数组的表示法:
address['building no'];如果你使用点符号,JavaScript 引擎将会抛出错误 SyntaxError: Unexpected string:
address.'building no';SyntaxError: Unexpected string请注意,在对象的属性名称中使用空格不是一个好习惯。
访问对象不存在的属性将会返回 undefined 。
console.log(address.district);undefined修改属性的值
要更改属性的值,可以使用赋值运算符( =)。例如:
let person = {
firstName: 'John',
lastName: 'Doe'
};
person.firstName = 'Jane';
console.log(person);{ firstName: 'Jane', lastName: 'Doe' }在此示例中,我们将 person 对象的 firstName 属性值从 'John' 修改为 'Jane'。
向对象添加新属性
与 Java 和 C# 等其他编程语言中的对象不同,您可以在创建对象后向对象添加属性。
语句 person.age = 25; 将 age 属性添加到 person 对象并为其分配值 25:
person.age = 25;删除对象的属性
要删除对象的属性,您可以使用 delete 运算符:
delete objectName.propertyName;语句 delete person.age; 从 person 对象中删除属性 age:
delete person.age;如果您尝试重新访问 age 属性,您将获得一个值 undefined。
检查属性是否存在
要检查对象中是否存在属性,可以使用 in 运算符,如果 objectName 存在 propertyName 则 in 运算符返回 true。
propertyName in objectName以下示例创建一个 employee 对象并使用 in 运算符检查对象中是否存在 ssn 和employeeId 属性。
let employee = {
firstName: 'Peter',
lastName: 'Doe',
employeeId: 1
};
console.log('ssn' in employee);
console.log('employeeId' in employee);false
true结论
- 对象是键值对的集合。
- 使用点符号
.或类似数组的符号[]访问对象的属性。 delete运算符从对象删除属性。in运算符检查对象是否存在属性。












