一.声明对象的两种语法
- let obj = { 'name' : 'frank', 'age':18 }
- let obj = new Object({ 'name' : 'frank'})
注意:键名是字符串,不是标识符,可以包含任意字符
二.如何删除对象的属性
delete obj.xxx或delete obj['xxx'] 即可删除obj的xxx属性
三.查看属性有两种方法
中括号语法:obj['key'] 点语法:obj.key
优先使用中括号语法 点语法会误导,让人以为key不是字符串 等确定不会弄混两种语法,再改用点语法
四.如何修改或增加对象的属性
let obj = {name: 'frank'} // name是字符串
obj.name = 'frank' // name是字符串
obj['name'] = 'frank’
obj['na'+'me'] = 'frank'
let key = 'name'; obj[key] = 'frank'
let key = 'name';
批量赋值
Object.assign(obj, {age: 18, gender: 'man'})
五.'name' in obj和obj.hasOwnProperty('name') 的区别
'name' in obj不能断定'name"是否为obj属性 obj.hasOwnProperty('name') 是判断属性是自身还是共有的