文档章节

js如何打印object对象,再也不怕找不到对象了

Domineering
 Domineering
发布于 2015/12/12 13:03
字数 312
阅读 421
收藏 7

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

js调试中经常会碰到输出的内容是对象而无法打印的时候,光靠alert只能打印出object标示,却不能打印出来里面的内容,甚是不方便,于是各方面整理总结了如下一个函数,能够将数组或者对象这类的结果一一打印出来,具体代码如下:

?
1
2
3
4
5
6
7
8
functionwriteObj(obj){
 vardescription ="";
 for(variinobj){
  varproperty=obj[i];
  description+=i+" = "+property+"\n";
 }
 alert(description);
}

另外当你需要将object对象转换为string字符串

有下面这个函数就好了,可以将其转化为字符串类型,然后就可以打印出来了,具体代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
functionobj2string(o){
 varr=[];
 if(typeofo=="string"){
  return"\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\"";
 }
 if(typeofo=="object"){
  if(!o.sort){
   for(variino){
    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(vari=0;i<o.length;i++){
    r.push(obj2string(o[i]))
   }
   r="["+r.join()+"]";
  }
  returnr;
 }
 returno.toString();
}

以上两步骤就能完成js打印object对象,希望对大家的学习有所帮助。

© 著作权归作者所有

Domineering
粉丝 7
博文 175
码字总数 72986
作品 0
深圳
私信 提问
加载中

评论(2)

纳兰清风
纳兰清风
console.log
开源中国最帅没有之一
开源中国最帅没有之一
请用chrome
js深入(二)函数的执行与上下文

<font size='3'> 这一篇简单的说一说js的函数执行和js的执行上下文的概念,之前在我的博客里边也提到过js的堆栈队列,这一篇打算单独的拿出来说一说 是什么是js的执行上下文 一段可以执行的代...

osc_p7ce7uk0
2019/07/03
2
0
一文搞清 Javascript 中的「上下文」

#背景 本文是 「2019年,看了这一份, 再也不怕前端面试了」中的一部分: 参考了之前写过的和额外的, 分享给大家, 希望能给大家带来一些。 如需转载,请联系作者获得许可。 #正文 是Javas...

皮蛋是只猪
2019/10/18
0
0
浅谈js执行环境——声明提升的本质

我们在接触JavaScript这门语言时,会经常遇到这种问题,经过后续的学习,我们可能知道了这种现象在JavaScript中叫声明提升(hoisting),但是我们可能只知道声明提升的现象,却不清楚造成这种现...

vianem
2019/05/01
0
0
10个流行的JavaScript面试题

译者:前端小智 原文:medium.com/@jlanne119/… 为了保证可读性,本文采用意译而非直译 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 1.如何理解 JS 中的关键字? JS 初...

前端小智
2019/06/19
0
0
一个后端眼中的js对象和原型链

js对象 js中的类型有: 所以对象可以这么分类: 函数对象(function) 其他对象 所以函数对象可以大声唱我们不一样,既然不一样肯定得有一点不一样的烟火,函数对象的不一样在什么地方呢?每一...

trayvon
2017/10/19
27
0

没有更多内容

加载失败,请刷新页面

加载更多

PHP实战之文件上传与下载

目录 1. 前言 2.代码实战 2.1客户端页面配置说明 2.2 $_FILES预定义变量解析 2.3文件的移动方式 2.3.1第一种移动形式 2.3.2第二种移动形式 2.4文件上传配置及解析 2.5 错误信息说明 3. 文件上...

六道木
21分钟前
30
0
rebar3 的使用

安装 $ git clone https://github.com/erlang/rebar3.git$ cd rebar3$ ./bootstrap $ ./rebar3 local install===> Extracting rebar3 libs to ~/.cache/rebar3/lib...===> Writing r......

SummerGao
23分钟前
20
0
聊聊nifi的AbstractBinlogTableEventWriter

序 本文主要研究一下nifi的AbstractBinlogTableEventWriter AbstractBinlogTableEventWriter nifi-1.11.4/nifi-nar-bundles/nifi-cdc/nifi-cdc-mysql-bundle/nifi-cdc-mysql-processors/src......

go4it
24分钟前
18
0
如何解决Git中的合并冲突 - How to resolve merge conflicts in Git

问题: 如何解决Git中的合并冲突? 解决方案: 参考一: https://stackoom.com/question/g5t/如何解决Git中的合并冲突 参考二: https://oldbug.net/q/g5t/How-to-resolve-merge-conflicts-...

fyin1314
27分钟前
23
0
最常用的linux命令

查看磁盘挂载情况: df -h 查看当前目录下每个文件夹的大小 du -lh --max-depth=1 清空特定文件root >root 查看安装的linux发型版本 cat /proc/version *******lsb_release -a uname --m 查看...

fairy1674
31分钟前
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部