JS对象基本用法
声明对象的两种语法
1. let obj = {'name': 'frank','age': 18}
2. let obj = new Object({'name': 'frank','age': 18})
如何删除对象的属性
detele obj.xxx 或 delete obj['xxx']如何查看对象的属性
1. 查看自身所有属性—— Object.keys(obj)
2. 查看自身+共有属性—— console.dir(obj)
3. 判断一个属性是自身的还有共有的—— obj.hasOwnProperty('toString')
注意:obj.name 等价于 obj['name'],不等价于obj[name]——这里的 name 是字符串而不是变量。
let name = 'frank',此时 obj[name] 等价于obj['frank'],而不是 obj['name']
如何修改或增加对象的属性
1. 改自身: obj['name'] = 'xxx'
2. 批量改自身: Object.assign(obj, {age: 18, gender:'woman'})
3. 改共有属性: Object.prototype,toString = 'xxx'
4. 改原型:let obj = Object.create(common)
'name' in obj 和 obj.hasOwnProperty('name') 的区别
'name' in obj 不能判断出这个属性是自身属性还是共有属性,obj.hasOwnProperty('name') 可以判断出这个属性是自身属性还是共有属性。