用js写了一个类似php的print_r输出换行功能
人气:0复制代码 代码如下:
<script type="text/javascript">
<!--
var my={
str:'',
deep:0,
block:' ',
get_pre:function(n)
{
pre='';
for(i=0;i<n;i++)
{
pre+=this.block;
}
return pre;
},
show_obj:function(obj)
{
for(k in obj)
{
if(typeof(obj[k])!='object' && typeof(obj[k])!='array')
{
pre=this.get_pre(this.deep);
this.str+=pre+k+'=>'+obj[k]+'\n';
}
else if(typeof(obj[k])=='object' && typeof(obj[k].length)=='undefined')//如果是对象
{
pre=this.get_pre(this.deep);
this.str+=pre+k+'=>OBJECT{\n';
this.deep++;//开始递归,深度+1
this.show_obj(obj[k]);
pre = this.get_pre(this.deep);
this.deep--;//递归结束一个 深度-1
this.str+=pre+'}\n';
}
else if(typeof(obj[k])=='object' && typeof(obj[k].length)!='undefined')//如果是数组
{
pre=this.get_pre(this.deep);
this.str+=pre+k+'=>ARRAY[\n';
this.deep++;//同对象
this.show_obj(obj[k]);
pre = this.get_pre(this.deep);
this.deep--;//同对象
this.str+=pre+']\n';
}
}
return this.str;
},
alert_obj:function(obj)
{
alert(this.show_obj(obj))
}
}
my.alert_obj({a:{b:{c:{d:'hello world'}}}});
//-->
</script>
chrome 可以用 console.log
ie的话,
加载全部内容