[原创]javascript模拟PHP的print_r函数
昨天整理代码的时候发现之前自己写过一个这样的js代码,挺实用的,而且经常用!
在这里介绍一下吧
对于某个对象,某个参数不熟悉不了解或者需要调试的话,php里头大家都管用print_r把参数展开,便可一目了然了。这个函数移植到javascript同样地意义重大,因为javascript的调试比php更加麻烦,故此,在js上它也是个非常好的调试分析工具。
代码如下:
<div class="quote">function print_r(o,re){
var res = "";
for(var name in o){
if(o[name]){
var val = o[name];
switch(typeof(val)){
case "string" :
val = val.replace(/</g,"<").replace(/>/g,">")
break;
case "function":
val = "function(){...}";
break;
}
res+=name+" => "+val+"\n";
}
}
res = "<pre>"+res+"</pre>"
if(re) return res;
var oSpan = document.getElementById("span_print_r");
if(!oSpan){
oSpan = document.createElement("span");
oSpan.id="span_print_r";
document.body.insertBefore(oSpan,document.body.childNodes[0]);
}
oSpan.innerHTML = res;
}