正文
js面向对象之属性
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
1、属性的设置和获取,方式有两种: .和[ ] .是取自身属性 [ ]可以是变量
var obj={};
obj.name="sonia";
obj['age']=22;
console.log(obj);
//{name: "sonia", age: 22}
var obj={};
obj.name="xxx";
var nameA="name";
console.log(obj[nameA]); //xxx var obj={};
obj.name="xxx";
var nameA="name";
console.log(obj['name']); //xxx var obj={};
obj.name="xxx";
var nameA="name";
console.log(obj.name); //xxx
2、属性的删除
delete o.name
3、检测属性是否属于对象有三种方法
1)in方法
var o={};
o.name="ccx";
'name' in o; //true 2)hasOwnProperty
var o={};
o.name="sss";
o.hasOwnProperty('name');//true
3) != ''underfind';
4、枚举属性,对对象的遍历(for in和each)
枚举在C/C++/c#中,是一个被命名的整型常数的集合, 枚举在日常生活中很常见。
例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,
SATURDAY,就是一个枚举。
var o={x:1,y:2,z:3};
for(a in o){
console.log(a);
} //x y z
var o={x:1,y:2,z:3};
for(var a in o){
console.log(o[a]);
} //1 2 3
如果for in 遍历数组
var arr=[{x:1},{y:2},{z:3}];
for(a in arr){
console.log(a);
} //0 1 2
var arr=[{x:1},{y:2},{z:3}];
for(a in arr){
console.log(arr[a]);
} // {x:1} {y:2} {z:3}
for循环是同步:上面执行完才执行下面,相当于接力赛
each循环是异步:同时执行,相当于统筹方法,同一时间都可以进行
5、序列化对象
http协议接收的是json
对象转字符串
var o2={x:1,y:2,z:3};
console.log(JSON.stringify(o2));//{"x":1,"y":2,"z":3}这里省略了''
console.log(typeof(JSON.stringify(o2)));//string
字符串转对象
var o2='{"x":1,"y":2,"z":3}';
var o3=JSON.parse(o2);
console.log(o3); //{x: 1, y: 2, z: 3}