定义:
无序的数据集合
键值对的集合
写法:
let obj={'name':'frank','age':18}
let obj= new Object({'name':'frank'})
key是属性名,value是属性值
key是字符串
Object.Keys(obj),可以把所有键名打出来
let a=‘xxx',如果想用变量的值做key,可以使用[a]
隐藏属性藏有共有属性的地址!共有属性(原型)
删除属性:
delete.obj.xxx或者delete.obj.[xxx]:即可删除对象obj的xxx属性,注意:undefined只是删除属性值,delete是把属性名和值都删除了。
校验删除是否成功:'xxx' in obj 看返回值是true还是false
含有属性名但是属性值不存在:'xxx' in obj&&obj.xxx===undefined
读属性:
查看自身所有属性名:Object.keys(obj)
查看自身所有属性值:Object.values(obj)
查看名和值:Object.entries(obj)
查看所有属性,包括共有:console.dir.(obj)
判断属性是否在对象当中:'xxx' in obj
**不能用obj.x===undefined判断x是否存在obj中
检查一个属性是否共有:obj.hasOwnProperty('toString')
原型:每个对象都有原型,所有的对象都指向这个对象,但是它不指向其他对象,隐藏属性==null,所有可以称为根对象
查看属性方法:obj['key']和obj.key(点方法)
写属性:
直接赋值法:
let obj={name:'frank'}
obj.name='frank'//name是字符串
obj['name']='frank'
批量修改:
Object.assign(obj,{age:18,gender:'man'})
修改原型属性的方法:window.Object.prototype(修改原型会引起很多问题)
可以先定义一个对象,然后把这个对象作为另一个对象的原型。(原型链)
如:var common={'国籍':'中国',haircolor:'black'}
** var person=Object.create(common),意思是以common为原型创建person**