# 对象的增删查改
# 对象的声明
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编程 →