简单了解对象
-
什么是对象
- 首先排除男女朋友, 我们这是正经编程
- 对象是一个 复杂数据类型, 也叫做 引用数据类型
- 虽然我们说是复杂类型, 但是也没有很复杂, 只不过是存储了一些基本数据类型的集合
var obj = {
num: 100,
str: 'hello',
boo: true
}
-
这里的 {} 和函数中的 {} 不一样, 函数内部书写代码, 对象里面是书写数据的
-
对象就是一个键值对的集合
-
什么是键值对?
- 对象 obj 中, num 是键, 100 是值
- 对象 obj 中, str 是键, 'hello' 是值
- 对象 obj 中, boo 是键, true 是值
-
其实就是我们准备一个房子, 把我们想要的数据放进去, 然后把房子的地址给到变量名, 当我们需要某一个数据的时候, 就可以根据变量名里面存储的地址找到对应的房子, 然后去房子里面找到对应的数据
-
创建对象
-
字面量方式创建对象
- 语法:
var obj = {} var obj1 = {键值对, 键值对}
- 语法:
-
内置构造函数创建
- 语法:
var obj = new Object()
- 语法:
-
对象内对于 键(key) 的要求
-
推荐使用符合变量命名规则和规范的名字
-
可以使用纯数字当作 键名
- 这种情况下该属性会排列在最前面
-
可以使用任何特殊符号
- 使用特殊符号的时候,在书写时需要被引号包裹
-
对象数据类型的操作(增删改查)两种语法
-
点语法
var obj = {} obj.name = 'qianfeng' // 增 obj.name = 'qianfeng123' // 改 console.log(obj.name) // 查 delete obj.name // 删 -
中括号语法(数组语法)
var obj = {} obj['name'] = 'qianfeng' // 增 obj['name'] = 'qianfeng123123' // 改 console.log(obj['name']) // 查 delete obj['name'] // 删 -
两者的差异
- 符合变量命名规范与规则的情况,两者并无差异
- 操作不符合变量命名规范与规则的名称时,比如纯数字或者带有特殊符号的,就只能用中括号语法
- 涉及变量相关的时候,只能使用中括号语法
for in 循环遍历对象
for (var k in obj) {
console.log('我执行了', k, obj[k])
}