在使用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控制台中的输出结果为:
可以看到,本应有一定层级关系的日志输出在显示时并没有任何区别。为了添加层级关系,可以对日志输出进行分组,在开始分组的地方插入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()与console.log()一样,在有调试工具的浏览器上支持较好,各大浏览器均支持此功能。
本文向大家介绍JavaScript中的console.log()函数详细介绍,包括了JavaScript中的console.log()函数详细介绍的使用技巧和注意事项,需要的朋友参考一下 对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会阻断JavaScript程序的执行,从而造成副作用;而console.log
本文向大家介绍JavaScript中的console.time()函数详细介绍,包括了JavaScript中的console.time()函数详细介绍的使用技巧和注意事项,需要的朋友参考一下 如果需要在Web调试过程中知道代码执行的时间,那么可以通过在JavaScript代码中添加console.time()语句和console.timeEnd()语句来对程序的执行进行计时。以下面这个耗时较长的f
本文向大家介绍详细介绍Python中的偏函数,包括了详细介绍Python中的偏函数的使用技巧和注意事项,需要的朋友参考一下 Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下
本文向大家介绍详细介绍Python函数中的默认参数,包括了详细介绍Python函数中的默认参数的使用技巧和注意事项,需要的朋友参考一下 最近我在一段Python代码中发现了一个因为错误的使用默认参数而产生的非常恶心的bug。如果您已经知道关于默认参数的全部内容了,只是想嘲笑一下我这可笑的错误,请直接跳到本文末尾。哎,这段代码是我写的,但是我非常确定那天我被恶魔附体了。你懂的,有时候就是这样。 本文
本文向大家介绍java 中函数的参数传递详细介绍,包括了java 中函数的参数传递详细介绍的使用技巧和注意事项,需要的朋友参考一下 java中函数的参数传递 总结: 1.将对象(对象的引用)作为参数传递时传递的是引用(相当于指针)。也就是说函数内对参数所做的修改会影响原来的对象。 2.当将基本类型或基本类型的包装集作为参数传递时,传递的是值。也就是说函数内对参数所做的修改不会影响原来的变
本文向大家介绍JavaScript中的值类型详细介绍,包括了JavaScript中的值类型详细介绍的使用技巧和注意事项,需要的朋友参考一下 计算机程序的实质很大程度上可以说是机器对各种信息(值)的操作与读写。在JavaScript中,存在多种类型的值,这些值分成两大类:Primitive(基本类型)和Object(对象)。 Primitive JavaScript中Primitive有5种类型: