七、对象数据类型

103 阅读2分钟

对象数据类型属于引用数据类型(又叫复杂数据类型)。

一、创建方式

  1. 创建方式一:创建键值对
  • 语法:var obj = {键值对(如 键:值)}

image.png 2.创建方式二:属性

  • 语法:var obj = {属性名:属性值}
  1. 创建方式三:内置构造函数的方式
  • 空对象

image.png

  • 非空对象

image.png

二、对象的操作(增删改查)

  1. 增加一个键值对
  • 点语法:对象名.变量名=‘要增加的数据’
  • 中括号语法:对象名['变量名']=要增加的数据

image.png 2. 删除一个键值对

  • 点语法:对象名.变量名=‘要删除的数据’
  • 中括号语法:对象名['变量名']=要删除的数据
  1. 修改一个键值对
  • 点语法:对象名.变量名=‘要修改的数据’
  • 中括号语法:对象名['变量名']=要修改的数据
  1. 访问一个键值对
  • 点语法:console.log(对象名.变量名)
  • 中括号语法:console.log(对象名['变量名'])

一般情况下,点语法和中括号语法作用相同,怎么选择都可以。但是特殊情况下,我们需要使用中括号语法:

  • 对象的属性名,有纯数字或者特殊符号,只能用中括号语法。(如果是特殊符号,中括号内的属性名要用引号包裹,纯数字则不做要求)

image.png

  • 如果涉及变量相关,也要用中括号语法。

image.png 原理解释:中括号语法,内部书写的字符,如果不加引号,会把它当成变量去使用,所以找到实际的值后,myName这个变量对应的值是'name'; 现在 obj2[myName] 变为 obj2['name'];所以接下来会在obj2对象中去查找一个叫name的属性名,最后进行打印。而如果使用点语法,如果写点语法,则会把myName当成字符串去使用,所以打印出来的是undefined 。

三、遍历对象

  1. 定义:获取到对象内的所有值。
  2. 方法:在JavaScript中,对象是不能使用传统的for循环进行遍历的,但是可以使用for in来进行遍历。

image.png 注意:这里只能用中括号语法,因为涉及到变量了。