所有对象具备的特点
+用键值对(key:value 属性名和属性值) 来描述一个对象的特征(每一个对象都是综合体,存在零到多组键值对)
+{key:value} {key:value,.....} 每一组键值对是 key:value 的格式,多组键值对用逗号分隔
+key不能是引用类型的,value可以是任何的数据类型
let obj = {
name: '张三',
age: 30,
sex: '男',
score: [10,20],
fn: function(){}
}
关于对象键值对的增删改查
let obj = {};
// 新增或者修改属性和属性值
// 对象的属性名(键)是不允许重复的,之前没有这个属性则为新增,有这个,则是修改对应的属性值
操作属性的两种方式
+对象.属性名 = 属性值 .在这里可以理解为 的
+对象[属性名] = 属性值
obj.name = 'jiujiu';
obj['name'] = 'jiujiu1';
获取对象中的属性名和属性值
+获取指定属性名的属性值
let obj = {
sex: 0
}
console.log(obj.sex); // => 0
console.log(obj[sex]); // => 0
+如果指定的属性不存在,获取到的属性值是undefined(不会报错)
let obj = {
}console.log(obj['age']); // => undefined
+获取当前对象中所有的属性名:返回结果是包含所有的属性名的数组
let obj = {
age: 12
}
console.log(Object.keys(obj)); // => ['age']
删除对象中指定的属性
+假删除:当前属性换存在,只不过属性赋值为空
let obj = {
sex: 10
};
obj.sex = null;
+真删除:彻底把属性从对象中移除掉
let obj = {
sex: 10
};delete obj.sex;
操作对象的属性两种方式
1,对象.属性
2,对象[属性]
对象中的属性不能重复
删除的两种
真删除和假删除