1. 声明对象的两种语法
let obj={'name':'David', 'age':10}
let obj= new Object({'name':"David"})
console.log({'name':'David', 'age':10})
键名可以包含任何字符,但都是字符串。 属性名加上中括号[]就可以成为变量。
2. 如何删除对象的属性
delete obj.xxx 或者 delete obj['xxx']删除obj的xxx属性

'xxx' in obj === false表示不含有属性名。
'xxx' in obj && obj.xxx === undefined表示含有属性名,但值为undefined。
3. 如何查看对象的属性
obj['key']查看单个属性。
Object.keys(obj)可以查看自身所有属性。
console.dir(obj)查看自身和共有属性。
obj.hasOwnProperty('toString')判断一个属性是自身的还是共有的。
4. 如何修改或增加对象的属性
- 直接赋值
let obj = {name:'David'}
obj.name = 'David'
obj['name'= 'David']
obj['na'+'me'= 'David']
let key = 'name'; obj[key] = 'David'
- 批量赋值
Object.assign(obj, {xxx,yyy,zzz})
- 更改共有属性 共有属性无法通过自身修改或增加。
5. 'name' in obj和obj.hasOwnProperty('name') 的区别
'name' in obj可以查看属性name是否在obj里。
obj.hasOwnProperty('name')查看obj是否含有特定的自身属性name。