js调试中经常会遇到输出的内容是对象而没法打印的时刻,光靠alert只能打印出object标示,却不能打印出来内里的内容,甚是不方便,因而各方面整顿总结了以下一个函数,能够将数组或许对象这类的效果逐一打印出来,详细代码以下:
function writeObj(obj){ var description = ""; for(var i in obj){ var property=obj[i]; description+=i+" = "+property+"\n"; } alert(description); }
别的当你需要将object对象转换为string字符串。
有下面这个函数就好了,能够将其转化为字符串范例,然后就能够打印出来了,详细代码以下:
function obj2string(o){
var r=[];
if(typeof o=="string"){
return "\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r) /g,"\\r").replace(/(\t) /g,"\\t")+"\"";
}
if(typeof o=="object"){
if(!o.sort){
for(var i in o){
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(var i=0;i<o.length;i++){
r.push(obj2string(o[i]))
}
r="["+r.join()+"]";
}
return r;
}
return o.toString();
}