声明对象
let obj=new Object({'name':'lee'})
let obj={'name':'lee'}
删
delete obj['name']
'name' in obj
obj.hasOwnProperty('name')
查
Object.keys(obj)
console.dir(obj)
obj['name']
obj.name
obj[name]
改or增
- 改自身 obj['name'] = 'jack'
- 批量改自身 Object.assign(obj, {age:18, ...})
- 改共有属性 obj.proto['toString'] = 'xxx'
- 改共有属性 Object.prototype['toString'] = 'xxx'
- 改原型 obj.proto = common
- 改原型 let obj = Object.create(common)
- 注:所有 proto 代码都是强烈不推荐写的
'name' in obj和obj.hasOwnProperty('name') 的区别
- 'name' in obj是不区别该查询的属性是否是自身的属性,还是共有的属性
- obj.hasOwnProperty('name')可以用来判断一个属性是自身的还是共有的
- eg.
obj.hasOwnProperty('name')
obj.hasOwnProperty('toString')