一、什么是对象?
就是一个数据的集合(复杂数据)
二、JS 的数据类型?
1、 基本数据
2、 复杂数据
对象属于复杂数据类型(引用数据类型)
说起来是复杂数据,但也不复杂
引用数据类型: object function array
Eg:
var obj = {
// 内部存放键值对 (还有人叫 key/value; 属性名: 属性值)
name: 'QF', // 逗号间隔
age: 18 // 冒号左边: 健; 冒号右边: 值;
}
Tip:
{} 对象内部存储的是:数据
if () { 分支语句的代码 }
for () { 循环体 }
function () { 函数体 }
{ 数据(内部的数据大部分为 基本数据类型) }
三、创建对象的方式
1、 字面量的形式
var obj = {
name: 'QF',
age: 18
}
console.log(obj)
2、 通过内置构造函数
var obj1 = new Object() // 创建一个空对象
console.log(obj1)
四、key是在冒号左边还是右边?
左边
key的命名:
1、推荐使用 符合变量命名规范和规则的
2、可以使用数字作为 key
3、可以使用特殊符号
Eg:
var obj = {
name: '小葵',
bigBox: 'KKKK',
496: '520496',
'@': '特殊符号1',
'#': '特殊符号2'
}
console.log(obj)
五、对象的增删改查
Eg:
var obj = {
name: '小葵'
}
console.log(obj)
1、 点语法
1.1 增加 (对象.新key = 值)
obj.age = 18 // 向对象 obj 中,新增一个 key --> age,对应的值为18
console.log(obj)
1.2 删除 (delete obj.key)
delete obj.name
console.log(obj)
1.3 修改 (对象.key = 新值)
obj.name = 'QF666'
console.log(obj)
1.4 查 (对象.key)
console.log(obj.name)
2、 中括号语法(数组语法)
2.1 增加 (对象['新key'] = 值)
obj['age'] = 18
console.log(obj)
2.2 删除 delete 对象['key']
delete obj['name']
console.log(obj)
2.3 修改 (对象['key'] = 新值)
obj['name'] = 'QF999'
console.log(obj)
2.4 查 (对象['key'])
console.log(obj['name'])
3、对象的操作方式分为 2 种
3.1 点语法
3.2 数组方法(中括号)
3.3 如何选择两种方式?
① 对象 的 key 符合命名规范的时候 都可以
② 出现纯数字 为 key 或者 特殊符号 @# 我们需要使用 中括号语法
③ 当出现变量的时候(想用变量作为 key) 也需要使用 中括号语法
Eg:
var obj = {
123: '112233',
'@': '我是特殊符号@'
}
console.log(obj)
3.4 点语法 有问题
console.log(obj.123) // 语法不支持
console.log(obj.'@') // 语法不支持
3.5 使用中括号语法
console.log(obj[123]) // 112233 可以使用
console.log(obj['@']) // 我是特殊符号@ 可以使用
六、遍历对象
Eg:
var obj = {
name: '小葵',
H: 496,
X: 520,
N: 594
}
for...in 循环
for (var key in obj) {
console.log(key) // 每一轮循环拿到的都是对象的 key
console.log(key, obj[key])
}