首页 / 脚本样式 / JavaScript / 用js写了一个类似php的print_r输出换行功能
复制代码 代码如下:
<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]+"
";
}
else if(typeof(obj[k])=="object" && typeof(obj[k].length)=="undefined")//如果是对象
{
pre=this.get_pre(this.deep);
this.str+=pre+k+"=>OBJECT{
";
this.deep++;//开始递归,深度+1
this.show_obj(obj[k]);
pre = this.get_pre(this.deep);
this.deep--;//递归结束一个 深度-1
this.str+=pre+"}
";
}
else if(typeof(obj[k])=="object" && typeof(obj[k].length)!="undefined")//如果是数组
{
pre=this.get_pre(this.deep);
this.str+=pre+k+"=>ARRAY[
";
this.deep++;//同对象
this.show_obj(obj[k]);
pre = this.get_pre(this.deep);
this.deep--;//同对象
this.str+=pre+"]
";
}
}
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的话,