对象数据类型属于引用数据类型(又叫复杂数据类型)。
一、创建方式
- 创建方式一:创建键值对
- 语法:var obj = {键值对(如 键:值)}
2.创建方式二:属性
- 语法:var obj = {属性名:属性值}
- 创建方式三:内置构造函数的方式
- 空对象
- 非空对象
二、对象的操作(增删改查)
- 增加一个键值对
- 点语法:对象名.变量名=‘要增加的数据’
- 中括号语法:对象名['变量名']=要增加的数据
2. 删除一个键值对
- 点语法:对象名.变量名=‘要删除的数据’
- 中括号语法:对象名['变量名']=要删除的数据
- 修改一个键值对
- 点语法:对象名.变量名=‘要修改的数据’
- 中括号语法:对象名['变量名']=要修改的数据
- 访问一个键值对
- 点语法:console.log(对象名.变量名)
- 中括号语法:console.log(对象名['变量名'])
一般情况下,点语法和中括号语法作用相同,怎么选择都可以。但是特殊情况下,我们需要使用中括号语法:
- 对象的属性名,有纯数字或者特殊符号,只能用中括号语法。(如果是特殊符号,中括号内的属性名要用引号包裹,纯数字则不做要求)
- 如果涉及变量相关,也要用中括号语法。
原理解释:中括号语法,内部书写的字符,如果不加引号,会把它当成变量去使用,所以找到实际的值后,myName这个变量对应的值是'name'; 现在 obj2[myName] 变为 obj2['name'];所以接下来会在obj2对象中去查找一个叫name的属性名,最后进行打印。而如果使用点语法,如果写点语法,则会把myName当成字符串去使用,所以打印出来的是undefined 。
三、遍历对象
- 定义:获取到对象内的所有值。
- 方法:在JavaScript中,对象是不能使用传统的for循环进行遍历的,但是可以使用for in来进行遍历。
注意:这里只能用中括号语法,因为涉及到变量了。