1. 程式人生 > >遍歷和新增json物件的屬性 和 遍歷普通js物件的屬性

遍歷和新增json物件的屬性 和 遍歷普通js物件的屬性

1. 遍歷 json 物件的屬性

//定義json物件
var person= {
name: 'zhangsan',
pass: '123',

fn: function(){

alert(this.name+"的密碼="+this.pass);

}
}
//遍歷person屬性包括方法,如果不想顯示出方法,可用typeof(person[item])== "function"來判斷
for(var item in person){
alert("person中"+item+"的值="+person[item]);
}

2.動態為 json物件 新增屬性

需要 使用1中的 person物件

var copyPerson={} //建立copyPerson物件,將person中的屬性包括方法copy給該物件
for(var item in person){
copyPerson[item]= person[item]; //這樣迴圈就可以將person中的屬性包括方法copy到copyPerson中了
}

for(var item in copyPerson){
alert("copyPerson中"+item+"的值="+person[item]);
}

注意:使用 Ext.apply(copyPerson, person) 也可以將person中的所有屬性包括方法 copy到 copyPerson中

3.遍歷 普通js物件的 屬性

//定義一個普通的js類,包含方法
var p= function (){
this.name= '李四';
this.pass= '456';
this.fn= function(){
alert(this.name+"的密碼="+this.pass);
}

}

var pp= new p(); //生成一個p類的物件 pp

for(var item in pp){

//遍歷pp物件中的屬性,只顯示出 非函式的 屬性,注意不能 遍歷 p這個類
if(typeof(pp[item])== "function")
continue;
alert("p物件中"+item+"的屬性="+pp[item]);
}

普通的 js物件 也可以copy,copy方法和 2.動態為 json物件 新增屬性 思路一樣