本篇博客是作为个人自学记录,如有不足之处,请批评指正。
对象声明
// 简单写法
let pobj = {
name: 'chennan',
age: 18
}
// 标准写法
let obj = new Object({
name:'chennan',
age: 18
})
// 对象里的内容遵循 键值对 格式
注意
- 键名是字符串,不是标识符,可以包含任意字符
- 引号可以省略,就算省略引号,键名也还是字符串
删除对象属性
let obj = {
name: 'name',
}
// 只删除属性值
obj.name = undefine
// 属性名和属性值都删除
delete obj.name
// 或者
delete obj.['name']
查看对象的属性
let obj = {
name: 'chennan'
}
// 方法1 推荐新手使用这种
obj['name']
// > "chennan"
//方法2
obj.name
// > "chennan"
修改或增加对象的属性
增加属性
直接赋值
let obj = {
name: 'chennan',
age: 18
}
// 方法1
obj.name = 'liudehua' // 要记住 name 是字符串
// 方法2
obj['age'] = 20
// 方法3
let key = 'name'; obj[key] = 'liudehua'
批量赋值
Object.assig(obj,{name: 'liudehua', age: 20})
‘name’ in obj 和 obj.hasOwnProperty(‘name’) 的区别
- 前者用来查看属性 name 是否在 obj 里
- 后者用来检测 obj 是否含有特定的自身属性 name,这个方法会查找一个对象是否有某个属性,但是不会去查找它的原型链