js调试中经常会碰到输出的内容是对象而无法打印的时候,光靠alert只能打印出object标示,却不能打印出来里面的内容,甚是不方便,于是各方面整理总结了如下一个函数,能够将数组或者对象这类的结果一一打印出来,具体代码如下:
1
2
3
4
5
6
7
8
|
functionwriteObj(obj){
vardescription ="";
for(variinobj){
varproperty=obj[i];
description+=i+" = "+property+"\n";
}
alert(description);
}
|
另外当你需要将object对象转换为string字符串。
有下面这个函数就好了,可以将其转化为字符串类型,然后就可以打印出来了,具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
functionobj2string(o){
varr=[];
if(typeofo=="string"){
return"\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\"";
}
if(typeofo=="object"){
if(!o.sort){
for(variino){
r.push(i+":"+obj2string(o[i]));
}
if(!!document.all&&!/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)){
r.push("toString:"+o.toString.toString());
}
r="{"+r.join()+"}";
}else{
for(vari=0;i<o.length;i++){
r.push(obj2string(o[i]))
}
r="["+r.join()+"]";
}
returnr;
}
returno.toString();
}
|
以上两步骤就能完成js打印object对象,希望对大家的学习有所帮助。