Firebug的Console的用法

 

网页制做poluoluo文章简介:Firebug一共有Console,HTML,CSS,Script,DOM,NET六个Tab,今天着重说一下Console的用法。

Firebug对于Web开发人员来讲,已经成为了避免可或缺的工具,可是在我平常的工做中,经常感受尚未可以深入的挖掘出她的潜力,今天花了点时间仔细研究了Console和命令行的使用在提升工做效率方面的做用,
记下来和你们分享一下.html

Firebug一共有Console,HTML,CSS,Script,DOM,NET六个Tab,今天着重说一下Console的用法。函数

其实咱们对于Console应该很是熟悉,由于这里是Firebug给出各类信息的窗口,而这也正是Console的主要用途,日志记录(Logging)。
除此以外,Console还提供了经过命令行方式来调试Javascript的方法。下面就来学习一下Console的用法。工具

一、Firefox的日志记录(Logging in Firefox)。学习

经过Console的记录方法,咱们能够再也不使用烦人的alert或者document.write方法来进行调试。
Firebug提供了五种日志的类型:this

console.log:记录一行信息,无任何图标提示; console.debug:记录一行信息,带超连接,能够连接到语句调用的地方; console.error():向控制台中写入错误信息,带错误图标显示和高亮代码连接; console.info():向控制台中写入提示信息,带信息图标显示和高亮代码连接; console.warn():向控制台中写入警告信息,带警告图标显示和高亮代码连接;

consle打印字符串支持字符串替换,使用起来就像c里面的printf(“%s",a),支持的类型包括:spa

%s        string,字符串 %d,%i    整型 %f        浮点 %o        对象

若是使用%o的话,对象就会用绿色的超连接表示出来,单击后会将你带到DOM视图。

二、分组(Grouping)。.net

若是某一类的信息特别多时,分组就有利于逻辑的划分。
使用上很简单,参见代码。命令行

function consoleGroup(){
    var groupname = "Group 1";
    console.group("Message group %s", groupname);
    console.log("This is the 1 message in %s", groupname);
    console.log("This is the 2 message in %s", groupname);
    console.log("This is the 3 message in %s", groupname);
    console.groupEnd();
                
    goupname = "Group 2";
    console.group("Message group %s", goupname);
    console.log("This is the 1 message in %s", goupname);
                
    var subgroupname = "Sub group 1";
    console.group("Message group %s",subgroupname);
    console.log("This is the 1 message in %s", subgroupname);
    console.log("This is the 2 message in %s", subgroupname);
    console.log("This is the 3 message in %s", subgroupname);
    console.groupEnd();
                
    console.log("This is the 2 message in %s", goupname);
    console.groupEnd();
}debug

三、console.dir和console.dirxml调试

console.dir能够将一个对象的全部方法和属性打印出来,这个方法无疑是很是有用的,咱们再也不须要object.toString这样的方法支持了,只要有firebug,查看对象也变得很轻松同时,咱们也能够将页面中的元素做为一个对象打印出来,可是你要当心,由于这将输出众多的信息,可能你会迷失在繁杂的信息中而找不到本身须要的条目。咱们能够经过分组将这些大量的信息放入一个分组中,这样能够在逻辑上更清楚一些。

function consoleDir(){
    function Car(){
        this.Model = "Old Model";
       this.getManu = function(){
            return "Toyota";
       }
     }
                
     var objCar = new Car();
     console.dir(objCar);
     console.dir(zoo);
                
     var groupname = "Css Style";
     console.group("The button Style", groupname);
     console.dir(document.getElementById('consoledir').style, groupname);
     console.groupEnd();
}

console.dirxml    打印出HTML元素的XML表示形式.

三、console.dir和console.dirxml

console.dir能够将一个对象的全部方法和属性打印出来,这个方法无疑是很是有用的,咱们再也不须要object.toString这样的方法支持了,只要有firebug,查看对象也变得很轻松同时,咱们也能够将页面中的元素做为一个对象打印出来,可是你要当心,由于这将输出众多的信息,可能你会迷失在繁杂的信息中而找不到本身须要的条目。咱们能够经过分组将这些大量的信息放入一个分组中,这样能够在逻辑上更清楚一些。

function consoleDir(){
    function Car(){
        this.Model = "Old Model";
       this.getManu = function(){
            return "Toyota";
       }
     }
                
     var objCar = new Car();
     console.dir(objCar);
     console.dir(zoo);
                
     var groupname = "Css Style";
     console.group("The button Style", groupname);
     console.dir(document.getElementById('consoledir').style, groupname);
     console.groupEnd();
}

console.dirxml    打印出HTML元素的XML表示形式.

四、断言(console.assert())。

console.assert()能够用来判断一个表达式是否正确,若是错误,他就会打印错误信息在控制台窗口中。

五、追踪(console.trace())。

console.trace()是一个很是有趣的功能。咱们先来看看官方的解释:打印Javascript执行时刻的堆栈追踪。

这个函数能够打印出程序执行时从起点到终点的路径信息。

好比若是咱们想知道某个函数是什么时候和如何被执行的,咱们将console.trace()放在这个函数中,咱们就可以的看到这个函数被执行的路径。

这个函数在调试其余人的源代码时很是有用。    

六、计时(Timing)。

console.time(timeName)能够用来计时,这个在咱们须要知道代码执行效率的时候特别有用,就不用本身造轮子了。

            function consoleTime(){
                var timeName = "timer1";
                console.time(timeName);
                var a = 0;                
                for(var i = 0; i < 100; i++){
                    for(var j = 0; j < 100; j++){
//                        console.log('Hello world');
                        a = a + 1;
                    }
                }
                
                console.log("a = %d", a);
                console.timeEnd(timeName);
            }

七、Javascript分析器(Javascript Profiler)。

咱们能够经过代码console.profile('profileName')或者单击Profiler标签来进行Javascript代码执行的分析。这个功能有点相似于console.time(),能够帮助咱们评估代码的表现,可是可以提供比console.time()更详细的信息。

有三种方法能够调用Javascript profiler。一种是在代码中写入分析脚本,一种是单击profile标签,最后还能够在命令行下输入命令来执行。

执行后,能够看到详细的输出结果,下面对各项进行一些说明:

Function Column:显示调用的函数名称; Call Column:显示调用次数; Percent Column:显示消耗的时间比; Own Time:显示函数内部语句执行的时间,不包括调用其余函数的时间; Time Column:显示函数从开始到结束的执行时间; Avg Column:平均时间。Avg = Own / Call; Min & Max Column:显示最小和最大时间; File Column:函数所在的文件;    

八、其余的一些选项。

在Console Tab的最右侧有一个Options的选项,在这里能够本身定义须要显示的错误,其内容很好理解,这里就很少说了。有一点就是Firebug1.3之后,多了Show Chrome Errors、Show Chrome Message等几个选项,这几个选项尚未验证过其具体的做用,哪位知道的能够共享一下。

[参考资料]

Firebug Tutorial
http://michaelsync.net/2007/09/09/firebug-tutorial-logging-profiling-and-commandline-part-i Firebug Tutorial    
http://michaelsync.net/2007/09/10/firebug-tutorial-logging-profiling-and-commandline-part-ii

转载请注明:破洛洛

阅读全文
类别: Javascript  查看评论
相关文章
相关标签/搜索