对象
对象是一个键值对应的无需数据集合-字典
对象的创建
- 键(属性)是唯一的
- 属性可以动态的添加没有限制
字面量的创建
var obj = {
name : "mumu",
age : 18,
gender : "男"
}
对象的访问
Objec.属性名—点的形式来访问
var obj = {name : "mumu",age : 18,gender : "男"}
alert(obj.name); // mumu;
Objec[属性名]—中括号属性名的形式来访问
var obj = {name : "mumu",age : 18,gender : "男"}
alert(obj[age]); // 18
对象的增加,修改
Object.属性名 = 值—增加或者修改
- 当属性名再原对象中存在时,将覆盖原有属性的值
var obj = {name : "mumu",age : 18,gender : "男"};
obj.name = "小明";
console.log(obj); // {name : "小明",age : 18,gender : "男"}
- 当属性名不存在原有对象中时,将变成增加新的属性以及值
var obj = {name : "mumu",age : 18};
obj.gender = "女";
console.log(obj); // {name : "mumu",age : 18,gender : "女"}
遍历对象
for in 遍历
var obj = {name : "mumu",age : 18};
for(var i in obj) {
console.log(i,obj[i]);
// i ==> 属性
// obj[i] ==> 值
}
对象键的集合
Object.key(Object)—
对象转换为Json字符串
Json的特点
- json 从用于后端传递数据给前端,xml也是
- json 字符串中不能注释
- json 本质就是字符串,特殊字符(用JavaScript对象形式的字符串)
- json 表现js对象时候,键名(属性)必须使用""(双引号)包裹。
- json 值只能是:true,false,null,undefined,字符串,数字,数组,对象
JSON.stringify(Object)—对象转换成json字符串,返回转化的字符串
var obj = {name : "mumu",age : function(){alert(18)},gender : "男"};
var newObj = JSON.stringify(obj);
console.log(newObj); // {"name":"mumu","gender":"男"}(这是字符串,对象的形式) ==> 函数被过滤了
JSON.parse(String)—json字符串转换成对象,返回转化的对象
// 字符串
var str = '{"name":"mumu","age":"18","gender":"男","leg":"19cm"}';
var obj = JSON.parse(str);
console.log(obj); // {name: "mumu", age: "18", gender: "男", leg: "19cm"} 对象
综合案例—对象转换成对应的字符串—对象的序列化
var obj = {name : "mumu",age : 18,gender : "男"};
function parse(obj) {
var str = "";
for(var i in obj) {
str += i + "=" + obj[k] + "&";
}
return str.slice(0,-1);
}
console.log(parse(obj)); // name=mumu&age=18&gender=男