对象的属性是对象中的变量,它包含一个键(key)和一个值(value)。
let person = {
name: "Cheney",
age: 11,
gender: "male"
};
在上述例子中,name
、age
和 gender
是 person
对象的属性,分别具有字符串、数字和字符串类型的值。
let person = {
name: "Cheney",
address: {
city: "大连市",
province: "辽宁省"
}
};
在上述例子中,address
是 person
对象的属性,它包含一个嵌套的对象,具有 city
和 province
两个子属性。
let propertyName = "age";
let person = {
name: "Cheney",
[propertyName]: 11
};
在上述例子中,使用计算属性名,person
对象的属性名由变量 propertyName
决定。
对象的方法是对象中的函数,它可以执行某些操作或返回特定的值。
let person = {
name: "Cheney",
sayHello: function() {
console.log("Hello, I'm " + this.name);
}
};
person.sayHello(); // 输出:Hello, I'm Cheney
在上述例子中,sayHello
是 person
对象的方法,通过 this
关键字引用当前对象。
let person = {
name: "Cheney",
sayHello() {
console.log("Hello, I'm " + this.name);
}
};
person.sayHello(); // 输出:Hello, I'm Cheney
在上述例子中,使用了ES6的简化方法语法,更加简洁地定义了 sayHello
方法。
console.log(person.name); // 输出:Cheney
person.sayHello(); // 输出:Hello, I'm Cheney
在上述例子中,使用点表示法访问了对象的属性和方法。
let propertyName = "name";
console.log(person[propertyName]); // 输出:Cheney
在上述例子中,使用方括号表示法同样可以访问对象的属性,适用于包含特殊字符或动态属性名的情况。
delete person.age;
console.log(person.age); // 输出:undefined
在上述例子中,使用 delete
关键字删除了 person
对象的 age
属性。
delete person.sayHello;
person.sayHello(); // 报错:person.sayHello is not a function
在上述例子中,同样使用 delete
关键字删除了 person
对象的 sayHello
方法。
for (let key in person) {
console.log(key + ": " + person[key]);
}
在上述例子中,使用 for...in
循环遍历了 person
对象的所有属性,并输出属性名和对应的值。
let keys = Object.keys(person);
console.log(keys); // 输出:["name", "sayHello"]
在上述例子中,使用 Object.keys()
方法获取了 person
对象的所有属性名。
对象的属性和方法是 JavaScript 中非常重要的概念,通过字面量表示法、计算属性名、嵌套属性等方式,你能够创建灵活多样的对象。属性和方法的访问可以使用点表示法和方括号表示法,根据不同的需求选择不同的方式。删除属性和方法可以使用 delete
关键字,遍历属性可以使用 for...in
循环和 Object.keys()
方法。希望通过本篇博客,你对 JavaScript 中对象的属性和方法有了更深入的理解。