JavaScript中的console.group()函数详细介绍


Posted in Javascript onDecember 29, 2014

在使用console.log()或者其它日志级别的控制台输出功能时,日志输出是没有层级关系的。当程序中日志输出较多时,这一局限性将带来不小的麻烦。为了解决这一问题,可以使用console.group()。以下面代码为例:

function doTask(){

    doSubTaskA(1000);

    doSubTaskA(100000);

    console.log("Task Stage 1 is completed");

    doSubTaskB(10000);

    console.log("Task Stage 2 is completed");

    doSubTaskC(1000,10000);

    console.log("Task Stage 3 is completed");

}

function doSubTaskA(count){

    console.log("Starting Sub Task A");

    for(var i=0;i<count;i++){}

}

 

function doSubTaskB(count){

    console.log("Starting Sub Task B");

    for(var i=0;i<count;i++){}

}

 

function doSubTaskC(countX,countY){

    console.log("Starting Sub Task C");

    for(var i=0;i<countX;i++){

        for(var j=0;j<countY;j++){} 

    }

}
doTask();

在Firebug控制台中的输出结果为:

JavaScript中的console.group()函数详细介绍

可以看到,本应有一定层级关系的日志输出在显示时并没有任何区别。为了添加层级关系,可以对日志输出进行分组,在开始分组的地方插入console.group(),在结束分组的地方插入console.groupEnd():

function doTask(){

    console.group("Task Group");

    doSubTaskA(1000);

    doSubTaskA(100000);

    console.log("Task Stage 1 is completed");

    doSubTaskB(10000);

    console.log("Task Stage 2 is completed");

    doSubTaskC(1000,10000);

    console.log("Task Stage 3 is completed");

    console.groupEnd();

}

function doSubTaskA(count){

    console.group("Sub Task A Group");

    console.log("Starting Sub Task A");

    for(var i=0;i<count;i++){}

    console.groupEnd();

}

 

function doSubTaskB(count){

    console.group("Sub Task B Group");

    console.log("Starting Sub Task B");

    for(var i=0;i<count;i++){}

    console.groupEnd();

}

 

function doSubTaskC(countX,countY){

    console.group("Sub Task C Group");

    console.log("Starting Sub Task C");

    for(var i=0;i<countX;i++){

        for(var j=0;j<countY;j++){} 

    }

    console.groupEnd();

}
doTask();

插入console.group()语句后Firebug控制台中的输出结果为:

JavaScript中的console.group()函数详细介绍

浏览器支持

console.group()与console.log()一样,在有调试工具的浏览器上支持较好,各大浏览器均支持此功能。

Javascript 相关文章推荐
js继承 Base类的源码解析
Dec 30 Javascript
JS实现静止元素自动移动示例
Apr 14 Javascript
jQuery CSS()方法改变现有的CSS样式表
Sep 09 Javascript
js获取字符串最后一位方法汇总
Nov 13 Javascript
JS控制弹出新页面窗口位置和大小的方法
Mar 02 Javascript
深入分析javascript中的错误处理机制
Jul 17 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
Oct 27 Javascript
JS实现类似51job上的地区选择效果示例
Nov 17 Javascript
浅析vue数据绑定
Jan 17 Javascript
react-router JS 控制路由跳转实例
Jun 15 Javascript
详解webpack+gulp实现自动构建部署
Jun 29 Javascript
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
小米公司JavaScript面试题
Dec 29 #Javascript
谷歌浏览器调试JavaScript小技巧
Dec 29 #Javascript
JavaScript中的console.trace()函数介绍
Dec 29 #Javascript
JavaScript中的console.profile()函数详细介绍
Dec 29 #Javascript
jQuery中element选择器用法实例
Dec 29 #Javascript
JavaScript中的console.time()函数详细介绍
Dec 29 #Javascript
JavaScript前端图片加载管理器imagepool使用详解
Dec 29 #Javascript
You might like
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
Thinkphp5结合layer弹窗定制操作结果页面
2017/07/07 PHP
Javascript 不能释放内存.
2006/09/07 Javascript
HTML中事件触发列表与解说
2007/07/09 Javascript
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
ajax请求get与post的区别总结
2013/11/04 Javascript
js单例模式详解实例
2013/11/21 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
python实现微信自动回复功能
2018/04/11 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
个人自我鉴定写法
2013/11/30 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
上课不认真检讨书
2014/09/17 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电