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}

  

 

 

 

 

原文地址:https://www.cnblogs.com/colorful-paopao1/p/8309857.html