使用字面量语法创建对象
let obj1 = {
name: "张三",
age: 22,
gender: "男",
getName: function() {
return this.name;
}
};
使用构造函数语法创建对象
let obj2 = new Object();
obj2.name = "李四";
obj2.age = 18;
obj2.gender = "女";
obj2.getName = function() {
return this.name;
};
访问对象的属性和方法
let obj = {
name:'张三',
age:18,
gende:”男“,
getName:"李四"
}
console.log(obj1.name); // "张三"
console.log(obj2.age); // 18
console.log(obj1["gender"]); // "男"
console.log(obj2["getName"]()); // "李四"
更改和添加对象属性
可以通过点号 . 或者方括号 [] 运算符来更改对象属性的值:
obj1.age = 23;
obj2["gender"] = "男";
也可以通过点号 . 或者方括号 [] 运算符来添加新的属性和方法:
obj1.job = "程序员";
obj2["isStudent"] = false;
删除对象属性
可以使用 delete 运算符来删除对象的属性:
delete obj1.age;
delete obj2["gender"];
遍历对象
可以使用 for...in 循环语句来遍历对象的属性:
for (let prop in obj1) {
console.log(prop, obj1[prop]);
}
也可以使用 Object.keys() 方法来获取对象属性的数组,并使用 forEach() 方法来遍历:
Object.keys(obj2).forEach(function(prop) {
console.log(prop, obj2[prop]);
});
检测对象
可以使用 typeof 运算符或者 Object.prototype.toString.call() 方法来检测对象的类型:
使用 typeof 运算符
console.log(typeof obj1); // "object"
console.log(typeof obj2); // "object"
使用 Object.prototype.toString.call() 方法
console.log(Object.prototype.toString.call(obj1)); // "[object Object]"
console.log(Object.prototype.toString.call(obj2)); // "[object Object]"
instanceof 运算符来检测对象是否属于某种类型:
console.log(obj1 instanceof Object); // true
console.log(obj2 instanceof Object); // true