内容1:声明对象的两种语法
let obj = {name:'xiaoli'}

let obj2 = new Object({name:'xiaohong'})

内容2:如何删除对象的属性
delete obj2.name
delete ob2['name']
delete obj3[age]
let age = 'age'
delete obj3[age]

内容3:如何查看对象的属性
- Object.keys(),查看所有的键
- Object.values(),查看所有的值
- Object.entries(),查看所有的键和值
- console.dir(obj3),查看自身和共有属性
> let obj3 = {name:
<· undefined
> obj3
<· {name: "lili", age: 19, gender: "woman"}
> Object.keys(obj3)
<· (3) ["name", "age", "gender"]
> Object.values(obj3)
<· (3) ["lili", 19, "woman"]
> Object.entries(obj3)
<·
0: (2) ["name", "lili"]
1: (2) ["age", 19]
2: (2) ["gender", "woman"]
length: 3
> console.dir(obj3)
Object
age: 19
gender: "woman"
name: "lili"
__proto__: Object
<· undefined
内容4:如何修改或增加对象的属性
- 点方法:obj3.age = 21
- 中括号方法:obj3['name'] = 'liuli'
obj3.age = 21
obj3['name'] = 'liuli'
obj3[gender] = 'not a man' //gender is not defined
let gender = 'gender'
obj3[gender] = 'no a man'
内容5:'name' in obj和obj.hasOwnProperty('name') 的区别
- 'name' in obj,只能查看属性是否存在,不能判断该属性是否属于自己还是共有
- obj.hasOwnProperty('toString'),可以判断一个属性是自身还是共有
> 'name' in obj3
<· true
> obj3.hasOwnProperty('name')
<· true
> obj3.toString()
<· "[object Object]"
> obj3.hasOwnProperty('toString')
<· false