对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
一、对象的分类:
1.内建对象
-由ES标准中定义的对象,在任何的ES的实现中都可以使用
-比如:Math String Number Boolean Function Object...…
2.宿主对象
-由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
-比如BOM DOM
3.自定义对象
-由开发人员自己创建的对象
在对象中保存的值称为属性向对象添加属性
语法:对象.属性名=属性值;
二、操作对象中的属性
1.读取对象中的属性
语法:对象.属性名
如果读取对象中没有的属性,不会报错而是会返回undefined
2.修改对象的属性值
语法:对象.属性名=新值
3.删除对象的属性
语法:delete对象.属性名
对象的属性名不强制要求遵守标识符的规范
什么乱七八糟的名字都可以使用
但是我们使用是还是尽量按照标识符的规范去做
如果要使用特殊的属性名,不能采用.的方式来操作需要使用另一种方式:
语法:对象[”属性名”]=属性值
读取时也需要采用这种方式
属性值
JS对象的属性值,可以是任意的数据类型甚至也可以是一个对象。
in运算符
-通过该运算符可以检查一个对象中是否含有指定的属性如果有则返回true,没有则返回false
-语法:“属性名” in 对象
使用对象字面量,可以在创建对象时,直接指定对象中的属性
语法:{属性名:属性值,属性名:属性值....}
对象字面量的属性名可以加引号也可以不加,建议不加,
如果要使用一些特殊的名字,则必须加引号
属性名和属性值是一组一组的名值对结构,名和值之间使用:连接,多个名值对之间使用,隔开如果一个属性之后没有其他的属性了,就不要写,
遍历对象属性:Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。