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
)
二、删
删:删除对象空间里面的某一个数据
语法:
delete 对象名.你要删除的数据的名字
var obj
= {
a
: 100,
b
: 200
}
delete obj
.a
console
.log(obj
)
三、改
改:修改对象空间里面的某一个数据
语法:
对象名.你要修改的名字 = 你要修改的值
注:和创建(增加)的语法一模一样
对象空间内 本身存在这个名字就是修改对象空间内本身不存在这个名字就是创建(增加)
var obj
= {
b
: 200
}
obj
.b
= 500
console
.log(obj
)
obj
.c
= 600
console
.log(obj
)
四、查
查:获取对象空间里面的某一个数据
语法:
对象名.你要查询的数据的名字
注:找不到的时候,就是 undefined
var obj
= {
b
: 500,
c
: 600
}
console
.log(obj
.b
)
console
.log(obj
)
对象的操作语法(数组关联语法)
一、增
对象名[‘你要添加的名字’] = 你要添加的值
var obj
= {}
obj
.a
= 100
obj
.age
= 18
obj
.gender
= '男'
obj
['name'] = 'Jack'
console
.log(obj
)
二、删
delete 对象名[‘你要删除的名字’]
var obj
= {
a
: 100,
age
: 18,
gender
: "男",
name
: "Jack"
}
delete obj
.age
delete obj
["a"]
console
.log(obj
)
三、改
对象名[‘你要修改的名字’] = 你要修改的值
var obj
= {
gender
: "男",
name
: "Jack"
}
obj
.a
= 200
obj
['gender'] = '女'
console
.log(obj
)
四、查
对象名[‘你要查询的名字’]
var obj
= {
gender
: "女",
name
: "Jack",
a
: 200
}
console
.log(obj
.gender
)
console
.log(obj
['name'])
console
.log(obj
)
注:点语法和数组关联语法使用的结果没有区别,互相可以混合着使用,只是为了实现一个需求的两种语法
对象存储数据
var obj
= {}
obj
['name'] = 'Jack'
obj
.sex
= true
obj
.age
= 18
obj
.fn = function () {
console
.log('我是存储再 obj 里面的 fn 函数')
}
console
.log(obj
.name
)
console
.log(obj
.age
)
console
.log(obj
.sex
)
obj
.fn()
访问对象的方法
一、for…in 循环
语法:for ( var key in 对象 ) { 重复执行的代码 }
key:是你自己起的变量名(键名)in:在 … 里对象:就是你要遍历的对象{ } :是重复执行的代码
会根据对象中有多少个成员执行多少次
注:主要是用来访问数组和对象的
var obj
= {
a
: 100,
name
: 'Jack',
age
: 18,
b
: 200,
c
: 500
}
for (var key
in obj
) {
console
.log(key
+ ' 成员的值是 : ' + obj
[key
])
}