本文介绍了在JavaScript调试中处理Object对象的两种实用方法。首先提供遍历对象属性并打印的函数,解决alert仅显示object标识的问题;其次提供将对象递归转换为字符串的函数,便于查看完整内容。包含具体代码实现与使用说明。
JavaScript打印Object对象的方法
在JavaScript调试过程中,经常遇到需要输出对象内容却无法直接打印的情况。仅使用alert只能看到“object”标识,无法查看内部具体数据,这给调试带来不便。为此,整理出一个函数,可以逐一打印数组或对象的结果,具体代码如下:
function writeObj(obj){
var description = "";
for(var i in obj){
var property=obj[i];
description+=i+" = "+property+"\n";
}
alert(description);
}
此外,有时需要将Object对象转换为String字符串。
可以使用以下函数将其转化为字符串类型,从而实现打印输出,具体代码如下:
将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();
}
更多关于JavaScript打印功能的内容,可点击《js打印功能汇总》专题学习。
以上两个步骤即可完成JavaScript中Object对象的打印,希望对大家的学习有所帮助。