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 相关文章推荐
Javascript typeof 用法
Dec 28 Javascript
一个可以随意添加多个序列的tag函数
Jul 21 Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
Mar 05 Javascript
javascript刷新父页面的各种方法汇总
Sep 03 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
Jun 08 Javascript
jQuery内容过滤选择器用法示例
Sep 09 Javascript
vue自定义全局组件(自定义插件)的用法
Jan 30 Javascript
vue中轮训器的使用
Jan 27 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
May 30 Javascript
vue webpack重写cookie路径的方法
Jul 10 Javascript
利用React高阶组件实现一个面包屑导航的示例
Aug 23 Javascript
vue中的可拖拽宽度div的实现示例
Apr 08 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
php 购物车实例(申精)
2009/05/11 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
从零学习node.js之mysql数据库的操作(五)
2017/02/24 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
js验证账户名是否重复
2020/05/26 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
python使用KNN算法手写体识别
2018/02/01 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Python WEB应用部署的实现方法
2019/01/02 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
python为什么要安装到c盘
2020/07/20 Python
python中np是做什么的
2020/07/21 Python
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
指针和引用有什么区别
2013/01/13 面试题
创先争优一句话承诺
2014/05/29 职场文书
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python