对象数据类型属于引用数据类型(又叫复杂数据类型)。
一、创建方式
创建方式一:创建键值对
语法:var obj = {键值对(如 键:值)}

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

非空对象

二、对象的操作(增删改查)
增加一个键值对
点语法:对象名.变量名=‘要增加的数据’
中括号语法:对象名['变量名']=要增加的数据

2. 删除一个键值对
点语法:对象名.变量名=‘要删除的数据’
中括号语法:对象名['变量名']=要删除的数据
修改一个键值对
点语法:对象名.变量名=‘要修改的数据’
中括号语法:对象名['变量名']=要修改的数据
访问一个键值对
点语法:console.log(对象名.变量名)
中括号语法:console.log(对象名['变量名'])
一般情况下,点语法和中括号语法作用相同,怎么选择都可以。但是特殊情况下,我们需要使用中括号语法:
对象的属性名,有纯数字或者特殊符号,只能用中括号语法。(如果是特殊符号,中括号内的属性名要用引号包裹,纯数字则不做要求)

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

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

