JS对象

96 阅读1分钟

定义:

无序的数据集合

键值对的集合

写法:

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**