码迷,mamicode.com
首页 > 其他好文 > 详细

打印object对象

时间:2014-09-22 17:09:02      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:style   color   io   os   ar   for   数据   div   sp   

一般情况在测试js时,如果接口返回的数据是object对象。
如果不知道这个对象里面具体的属性就取值容易得到undefined。
哪么怎么知道一个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();
}
function test() {
var obj=new Object();
obj.name="测试";
obj.age="20";
obj.sex="男";
alert(obj+"###"+obj2string(obj));
}
test();
上面这个例子我特意创建了一个object对象并且,打印了object和转换后的结果。我们可以截图看一下2者的不同之处:
很明显前者是一个object对象里面具体是什么不得而知,而后者则将他里面的属性暴露无疑。
bubuko.com,布布扣

打印object对象

标签:style   color   io   os   ar   for   数据   div   sp   

原文地址:http://blog.csdn.net/yaerfeng/article/details/39475327

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!