JavaScript 对象数据类型
对象数据类型
-
对象(object):是我们的复杂数据类型的一种
-
对象就是在内存中开辟一个空间,在里面存放一些数据
创建对象
一、字面量形式创建空对象
var obj = {}
console.log(obj) // {}
二、内置构造函数创建空对象
var obj2 = new Object()
console.log(obj2) // {}
三、直接创建一个有成员的对象
var obj = {
// 键名:键值 (键名是唯一的,如果重复了,后面的会覆盖前面的)
a: 100,
b: true
}
console.log(obj)
操作对象的语法(点语法)
- 就是对对象空间内部的数据进行增删改查
一、增
// 创建一个空对象
var obj = {}
// 向对象里面添加数据
obj.a = 100
obj.b = 200
console.log(obj) // {a: 100, b: 200}
二、删
// 创建一个对象
var obj = {
a: 100,
b: 200
}
// 删除对象里面的一个数据
delete obj.a
console.log(obj) // {b: 200}
三、改
var obj = {
b: 200
}
obj.b = 500
console.log(obj) // {b: 500}
obj.c = 600
console.log(obj) // {b: 500, c: 600}
四、查
var obj = {
b: 500,
c: 600
}
console.log(obj.b) // 500
console.log(obj) // {b: 500, c: 600}
对象的操作语法(数组关联语法)
一、增
var obj = {}
obj.a = 100
obj.age = 18
obj.gender = '男'
obj['name'] = 'Jack'
console.log(obj) // {a: 100, age: 18, gender: "男", name: "Jack"}
二、删
var obj = {
a: 100,
age: 18,
gender: "男",
name: "Jack"
}
delete obj.age
delete obj["a"]
console.log(obj) // {gender: "男", name: "Jack"}
三、改
var obj = {
gender: "男",
name: "Jack"
}
obj.a = 200
obj['gender'] = '女'
console.log(obj) // {gender: "女", name: "Jack", a: 200}
四、查
var obj = {
gender: "女",
name: "Jack",
a: 200
}
console.log(obj.gender) // 女
console.log(obj['name']) // Jack
console.log(obj) // {gender: "女", name: "Jack", a: 200}
- 注:点语法和数组关联语法使用的结果没有区别,互相可以混合着使用,只是为了实现一个需求的两种语法
对象存储数据
// 对象存储数据
var obj = {}
obj['name'] = 'Jack' // 字符串
obj.sex = true // 布尔类型
obj.age = 18 // 数值类型
obj.fn = function () { // 函数类型
console.log('我是存储再 obj 里面的 fn 函数') // 我是存储再 obj 里面的 fn 函数
}
// 使用的时候
console.log(obj.name) // Jack
console.log(obj.age) // 18
console.log(obj.sex) // true
// 执行函数, 就是要执行 obj 空间里面的 函数
// obj 的 fn 执行
obj.fn()
访问对象的方法
一、for…in 循环
-
语法:for ( var key in 对象 ) { 重复执行的代码 }
- key:是你自己起的变量名(键名)
- in:在 … 里
- 对象:就是你要遍历的对象
- { } :是重复执行的代码
- 会根据对象中有多少个成员执行多少次
-
注:主要是用来访问数组和对象的
var obj = {
a: 100,
name: 'Jack',
age: 18,
b: 200,
c: 500
}
// 表示我要遍历的是 obj 这个对象
for (var key in obj) {
// 利用这个 key 来遍历对象中的每一个成员
// obj['你要查询的名字']
console.log(key + ' 成员的值是 : ' + obj[key])
// 在这个循环里面
// 第一次的时候 key 就是 'a' 成员的值是 100
// 第二次的时候 key 就是 'name' 成员的值是 Jack
// 第三次的时候 key 就是 'age' 成员的值是 18
// 第四次的时候 key 就是 'b' 成员的值是 200
// 第五次的时候 key 就是 'c' 成员的值是 500
}