一、属性的设置和获取(2种方式 . / [ ] )
- obj.name='sonia'; //用‘.’ ,只可以获取自身属性
- obj[age]=22; //用方括号,可以获取自身属性,也可以是变量
二、属性的删除
- delete o.name;
- delete o[name];
三、检测属性
var o={};
o.name='xxx';
- in 运算符 console.log( 'name' in o );
- hasOwnProperty() console.log(o.hasOwnProperty('name'));
- !='underfined' console.log(o.name!='underfined');
四、枚举属性
- for in
- var o={x:1,y:2,z:3};
for(a in o){ console.log(a)}; //输出key: x y z
for(a in o){ console.log(o[a])}; //输出value: 1 2 3
-
- var arr=[{x:1},{y:2},{z:3}];
for(a in arr){ console.log(a)}; //输出索引: 0 1 2
数组遍历:
for(var i=0;i<10;i++){ //同步
}
$each(arr,function(index,item){ //异步
}
五、序列化对象
- var o2={x:1,y:2,z:3};
var str=JSON.stringify(o2);
console.log(JSON.stringify(str)); //JSON对象转字符串-->深拷贝(复制)
console.log(JSON.parse(o2)); //JSON字符串转对象
- 扩展:浅拷贝(引用)
var o3={x:1,y:2,z:3};
var p=o3;
o3.x='111';
console.log(p) //输出{x:111,y:2,z:3};