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 相关文章推荐
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
Sep 28 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
Nov 19 Javascript
JS检测移动端横竖屏的代码
May 30 Javascript
js改变css样式的三种方法推荐
Jun 28 Javascript
原生JS实现层叠轮播图
May 17 Javascript
深入理解Commonjs规范及Node模块实现
May 17 Javascript
elementui的默认样式修改方法
Feb 23 Javascript
详解50行代码,Node爬虫练手项目
Apr 22 Javascript
vue cli3.0 引入eslint 结合vscode使用
May 27 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
Jul 20 Javascript
vue下axios拦截器token刷新机制的实例代码
Jan 17 Javascript
vue使用vant中的checkbox实现全选功能
Nov 17 Vue.js
小米公司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
php生成xml简单实例代码
2009/12/16 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
php异步多线程swoole用法实例
2014/11/14 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
js实现自定义路由
2017/02/04 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
element实现合并单元格通用方法
2019/11/13 Javascript
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
[50:21]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/19 DOTA
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
python中使用mysql数据库详细介绍
2015/03/27 Python
python的继承知识点总结
2018/12/10 Python
在python中创建指定大小的多维数组方式
2019/11/28 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
麦当劳印度网上订餐:McDelivery
2020/03/16 全球购物
四年级下册教学反思
2014/02/01 职场文书
委托书英文
2015/01/28 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
民事辩护词范文
2015/05/21 职场文书
婚宴来宾致辞
2015/07/28 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python