这是一个创建于 4585 天前的主题,其中的信息可能已经有所发展或是发生改变。
$.get("http://testweb.com/contacts.php",function(data){
var contacts=eval("("+data+")");
var inbox=document.getElementById("inbox");
var onlinecontacts=new Array();
var offlinecontacts=new Array();
for(var key in contacts){
if(!onlinecontacts[contacts[key]["group"]]){
onlinecontacts[contacts[key]["group"]]=new Array();
offlinecontacts[contacts[key]["group"]]=new Array();
}
if (contacts[key]["online"]==1){
onlinecontacts[contacts[key]["group"]]+=new Person(contacts[key]["id"],contacts[key]["name"],contacts[key]["online"],contacts[key]["group"],contacts[key]["phone"]);
}
else{
offlinecontacts[contacts[key]["group"]]+=new Person(contacts[key]["id"],contacts[key]["name"],contacts[key]["online"],contacts[key]["group"],contacts[key]["phone"]);
}
}
for(var key in offlinecontacts){
for(var i=0;i<offlinecontacts[key].length;i++){
alert(typeof(offlinecontacts[key][i]));
}
}
});
想把contact里解析出来的数组实例化位Person对象后按照在线或不在线分别存到onlinecontacts和offlinecontacts里,onlinecontacts和offlinecontacts是二维数组,第一维是联系人的分组,第二维就是分组下Person的实例
可是为什么最后alert出来是string的 而不是Person对象的数组呢?
function Person(id,nm,onln,grp,phn){
this.pid=id;
this.name=nm;
this.online=onln;
this.group=grp;
this.phone=phn;
return this;
}