打印object对象
在测试条件一般js时间,假定数据接口返回object对象。

假设不知道这个对象里面详细的属性就取值easy得到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对象里面详细是什么不得而知,而后者则将他里面的属性暴露无疑。

版权声明:本文博客原创文章。博客,未经同意,不得转载。
浙公网安备 33010602011771号