对象的意义是用来存储数据以及编程。对象也称键值对,顾名思义是由属性名和属性值成对出现。
定义对象
直接定义:
在定义过程中,属性名与属性值之间通过冒号分隔,左侧是属性名,右侧是属性值,各个值之间用逗号分隔。
示例:
1 var obj = {
2 name:”张三”,
3 sex:”男”,
4 fn:function(){
5 console.log(1);
6 }
7 }
点语法定义:
通过点语法,在对象外添加属性。
示例:
Var obj = {};
obj.name = “张三”;
obj.sex = “男”;
obj.fn = fn:function(){
console.log(1);
}
读写属性
通过点语法:
当对象的属性名是一个具体的名字时,使用点语法可以快速对对象属性进行查询或修改,左侧是对象的变量名,右侧是属性名。
示例:
var obj = {
name:”张三”,
sex:”男”
}
console.log(obj.name); //在控制台输出对象中的name属性
obj.sex = “女”; //更改对象中的sex属性
console.log(obj.sex); //在控制台输出对象中的sex属性
通过方括号([])语法:
因为从结构上,对象与数组相近似,当对象的属性名时一个不具体的名字,也就是变量时,可以使用方括号。
示例:
var obj = {
name:“张三”,
sex:”男”
}
var str = “sex”; //定义一个变量
console,log(obj[str]); //通过变量寻找对象中的值
obj[“name”] = “李四”; //更改对象中的”name”
console,log(obj[“name”]); //输出对象中的”name”
删除属性
可以使用delete运算符删除对象中的属性,
示例:
var obj = {
name:”张三”,
sex:”男”
}
delete obj.sex; //删除obj中的sex属性
console.log(obj); //在控制台输出obj发现sex已被删除
对象的遍历
因为对象本身时无序的集合,没有索引,只有键没有顺序,与数组不同,所以不能使用循环遍历。
通过类似循环的遍历语句for-in可以遍历没有索引的集合,也被称为枚举。
示例:
var obj = {
name:"张三",
sex:"男"
}
for(var i in obj){
console.log(obj[i]);
} //会打印对象中的所有属性值