myfreax

javascript对象简介

在JavaScript对象的属性是无序的集合。每个键值对称为一个属性

3 min read
By myfreax
javascript对象简介
javascript对象简介

在JavaScript对象的属性是无序的集合。每个键值对称为一个属性。对象属性的键可以是字符串。属性的值可以是任何值,例如字符串、数字、数组,甚至是函数。

JavaScript为您提供多种创建对象的方法。最常用的一种是使用对象字面量创建对象。

代码let empty = {};使用对象字面量创建一个空对象。要创建具有属性的对象,请在大括号添加键值对作为属性。

代码let person = { firstName: 'John', lastName: 'Doe'};创建person对象。person对象有两个属性firstNamelastName对应的值是'John''Doe'

访问对象属性

要访问对象的属性,可以有两种访问方式,第一种是点表示法和数组的索引表示法。

代码objectName.propertyName使用点符号来访问对象的属性,例如代码person.firstName访问person对象的firstName属性。

代码objectName['propertyName']通过数组的表示法访问对象属性的值。当属性名称包含空格时,您需要将其放在单引号或者双引号内。

例如要访问address对象的'building no'属性,您需要使用数组的表示法,例如代码console.info(address['building no']);

let person = {
    firstName: 'John',
    lastName: 'Doe'
};
console.log(person.firstName);

let address = {
    'building no': 3960,
    street: 'North 1st street',
    state: 'CA',
    country: 'USA'
};
console.info(address['building no']);

如果你以点表示法访问带有空格的对象属性,例如代码address.'building no';。你将会得到错误消息SyntaxError: Unexpected string

通常不建议在对象的属性名称使用空格。如果访问对象不存在的属性将会返回undefined。例如代码console.log(address.district);

修改属性的值

要更改属性的值,您可以使用赋值运算符=。在以下示例中,我们将person对象的firstName属性值更改为'Jane'

let person = {
    firstName: 'John',
    lastName: 'Doe'
};

person.firstName = 'Jane';

console.log(person);

添加对象属性

与Java和C#等其他编程语言中的对象不同,您还可以在创建对象后向对象添加属性。代码person.age = 25;age属性添加到person对象并设置属性值是25。

person.age = 25;

删除对象属性

要删除对象的属性,您可以使用运算符delete。代码语法是delete objectName.propertyName;

例如代码delete person.age;person对象中删除属性age。如果您尝试重新访问 age属性,您将获得undefined值。

delete person.age;

检查对象属性是否存在

要检查对象中是否存在属性,可以使用运算符in。代码语法是propertyName in objectName。如果对象中存在属性,in运算符返回true,否则返回false

以下示例创建employee对象并使用运算符in检查对象中是否存在ssnemployeeId属性。

let employee = {
    firstName: 'Peter',
    lastName: 'Doe',
    employeeId: 1
};

console.log('ssn' in employee);
console.log('employeeId' in employee);

结论

对象是键值对的集合。可以使用点符号 .或数组的符号[]访问对象的属性。delete运算符可以在对象删除属性。in运算符可以检查对象否存在指定属性。