📅  最后修改于: 2023-12-03 14:43:31.419000             🧑  作者: Mango
在 JavaScript 中,对象是一组属性的集合(name:value pairs),其中属性可以是数据属性或者方法。对象可以看作是一个自包含的数据集合,其中可以包含其他对象。
有不同的方式来创建 JavaScript 对象。以下是其中一些方式:
// 创建空对象
const obj1 = {};
const obj2 = new Object();
// 创建带属性的对象
const person = {
firstName: "John",
lastName: "Doe",
age: 25,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};
// 构造函数创建对象
function Person(firstName, lastName, age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.fullName = function() {
return this.firstName + " " + this.lastName;
};
}
const person1 = new Person("John", "Doe", 25);
const person2 = new Person("Jane", "Doe", 30);
可以使用 . 或者 [] 来访问对象属性。
const person = {
firstName: "John",
lastName: "Doe",
age: 25,
};
console.log(person.firstName);
console.log(person["lastName"]);
const person = {
firstName: "John",
lastName: "Doe",
age: 25,
};
person.firstName = "Jane";
person.age = 30;
const person = {
firstName: "John",
lastName: "Doe",
age: 25,
};
delete person.age;
可以使用 for...in 循环来枚举对象的属性。
const person = {
firstName: "John",
lastName: "Doe",
age: 25,
};
for (let key in person) {
console.log(key + ": " + person[key]);
}
可以使用 in 运算符来检查对象是否包含某个属性。
const person = {
firstName: "John",
lastName: "Doe",
age: 25,
};
console.log("firstName" in person); // true
console.log("email" in person); // false
JavaScript 中的对象没有长度属性,但可以使用 Object.keys() 方法来获取对象中属性的数量。
const person = {
firstName: "John",
lastName: "Doe",
age: 25,
};
console.log(Object.keys(person).length); // 3
在 JavaScript 中,this 关键字指向当前对象。
const person = {
firstName: "John",
lastName: "Doe",
age: 25,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};
console.log(person.fullName()); // John Doe