# 对象的增删查改
# 对象的声明
let obj = {a: 1}let obj = new Object({a: 1})
# 删除属性
delete obj.xxx
# 查看属性
- 查看自身属性:
Object.keys(obj) - 自身+原型属性:
console.dir(obj) - 判断一个属性是自己的还是原型的:
obj.hasOwnProperty('xxx')
如何判断一个属性是否存在与这个对象里并且不是undefined: xxx in obj && obj.xxx === undefined
# 'name' in obj 和 obj.hasOwnProperty('name') 的区别
in检测对象里的全部属性, 也就是包括了原型属性, 而hasOwnProperty只包含检测对象里的属性, 不包含原型属性.
# 修改和增加属性
- 增加属性:
obj.yyy = '123 - 批量赋值:
Object.assign(obj, {p1:1, p2:2, p3:3} - 修改原型:
let obj = Object.create(prototype),prototype是一个对象, 它指定了obj的__proto__是其本身.
← JavaScript语法(一) DOM编程 →