本文内容

  • 信息显示
  • 信息显示的占位符
  • console.group 和 console.groupEnd 分组显示
  • console.dir
  • console.dirxml
  • console.assert
  • console.trace
  • console.time 和 console.timeEnd 流逝时间
  • Console.Profiler 性能分析

Console Panel 是 Firebug 的第一个面板,也是最重要的面板,主要作用是显示网页加载过程中产生各类信息。

Firebug 有一个内置 console 对象。该对象包含很多方法,可以让你把信息写到 Firebug 控制台。

信息显示


console.log 是最简单的方法,可以用来取代 alert 或 document.write。若在页面脚本中写 console.log("Hello World"),加载时控制台就会自动显示如下内容。

图 1

另外,根据信息的不同性质,还有其他四个方法,分别是 console.info、console.debug、console.warn 和 console.error。

实例一:

console.info("这是一般信息");

console.debug("这是调试信息");

console.warn("这是警告信息");

console.error("这是错误信息");

控制台显示如下内容:

图 2

不同类型的信息,前面的图标也不同,且每条信息后都有链接,点击后可直接跳转到网页源码的相应位置。

信息显示的占位符


上面五个 console 方法,都可以使用类似 printf 风格的占位符。不过,支持的不多,如下表所示:

表 1 console 支持的占位符

占位符

类型

%s

字符串

%d, %i

整数(numeric formatting is not yet supported)

%f

浮点数(numeric formatting is not yet supported)

%o

Object hyperlink

%c

Style formatting

示例二:

console.log("%d 年 %d 月 %d 日", 2013, 7, 25);

console.log("圆2周率是 %f", 3.1415926);

控制台显示如下内容:

图 3

示例三,用 %o 查看一个对象,并可单击进入。

var dog = {};

dog.name = "大毛";

dog.color = "黄毛";

console.log("%o", dog);

控制台显示如下内容:

图 4

console.group 和 console.groupEnd 分组显示


console.group 和 console.groupEnd 是分组缩进显示信息。

示例四:

console.group("1");

console.log("1.1");

console.log("1.2");

console.groupEnd();

console.group("2");

console.log("2.1");

console.log("2.2");

console.groupEnd();

控制台显示如下内容:

图 5

console.dir


console.dir 是显示一个对象所有的属性和方法。

示例五:

var dog = {};

dog.name = "大䨮毛?";

dog.color = "黄?毛?";

dog.bark = function () { alert("汪ª?汪ª?汪ª?"); };

dog.eat = function (o) { alert(o); }

console.dir(dog);

控制台显示如下内容:

图 6

console.dirxml


console.dirxml 是用来显示网页某个元素包含的 html/xml 代码。

示例六:

var table = document.getElementById("t1");

console.dirxml(table);

控制台显示如下内容:

图 7

console.assert


console.assert 是用来判断一个表达式或变量是否为真。如果结果为否,则在控制台输出一条相应信息,并且抛出一个异常。

示例七:

var result = 0;

console.assert(result);

var year = 2013;

console.assert(year == 2000);

控制台显示如下内容:

图 8

console.trace


console.trace 是用来追踪函数的调用轨迹。

示例八:

var x = add3(1, 1);

 

function add3(a, b) { return add2(a, b); }

 

function add2(a, b) { return add1(a, b); }

 

function add1(a, b) { return add(a, b); }

 

function add(a, b) {

console.trace();

return a + b;

}

运行后,会显示 add 函数的调用轨迹,从上到下依次为 add、add1、add2、add3,控制台显示如下内容:

图 9

console.time 和 console.timeEnd 流逝时间


console.time 和 console.timeEnd 是用来显示代码运行的流逝时间。

示例九:

console.time("计时器一");

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

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

}

console.timeEnd("计时器一");

控制台显示如下内容:

图 10

Console.Profiler 性能分析


console.profile 是分析程序的运行时间,找出瓶颈。

示例十:假定有一个函数Foo,里面调用了另外两个函数 funcA 和 funcB,其中 funcA 调用 10 次,funcB 调用 1 次。

function Foo() {

for (var i = 0; i < 10; i++) { funcA(1000); }

funcB(10000);

}

 

function funcA(count) {

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

}

 

function funcB(count) {

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

}

console.profile('性能分析器一');

Foo();

console.profileEnd();

控制台显示如下内容:

图 11

标题栏提示,一共调用了 12 个函数,共耗时 0.178 毫秒。其中,funcA 运行 10 次,共耗时 0.098 毫秒,平均耗时 0.139 毫秒,最小运行时间 0.003 毫秒,最长 0.07 毫秒;funcB 同理。

除了使用 console.profile 方法,Firebug 还提供了一个"概况"(Profiler)按钮。第一次点击该按钮,"性能分析"开始,你可以对网页进行某种操作(比如 Ajax 操作),然后第二次点击该按钮,"性能分析"结束,该操作引发的所有运算就会进行性能分析。

控制台显示如下内容:

图 12

参考文献


[1] Firebug http://getfirebug.com/

[2] Firebug Console API http://getfirebug.com/wiki/index.php/Console_API

[3] Firebug Tutorial - Logging, Profiling and CommandLine (Part I)

[4] Firebug Tutorial - Logging, Profiling and CommandLine (Part II)

Firebug Console Panel 控制台详解【转载+整理】的更多相关文章

  1. Firebug: Net Panel 使用详解

    Introduction to Firebug: Net Panel Since there is not much user documentation related to Firebug fea ...

  2. Firebug控制台详解

    转自:http://www.ruanyifeng.com/blog/2011/03/firebug_console_tutorial.html 作者: 阮一峰 日期: 2011年3月26日 Fireb ...

  3. Firebug控制台详解,让调试js代码变得更简单

    http://www.open-open.com/lib/view/open1373120100347.html Firebug是网页开发的利器,能够极大地提升工作效率. Firebug控制台详解 控 ...

  4. Firebug控制台详解(转)

    本文转自:http://www.ruanyifeng.com/blog/2011/03/firebug_console_tutorial.html 作者: 阮一峰 日期: 2011年3月26日 Fir ...

  5. javascript:控制台详解

    javascript工具——浏览器控制台详解  大神这篇博客是写在2011年,主要介绍 “Firefox” 浏览器插件 “Firebug” 的操作,如今主流浏览器对控制台都已经提供了很好的支持.我自己 ...

  6. Chrome控制台详解

    Chrome控制台详解 http://www.codeceo.com/article/chrome-console.html console.log('%casdf','font-size:16px; ...

  7. Linux下的I/O复用与epoll详解(转载)

    Linux下的I/O复用与epoll详解 转载自:https://www.cnblogs.com/lojunren/p/3856290.html  前言 I/O多路复用有很多种实现.在linux上,2 ...

  8. malloc 与 free函数详解<转载>

    malloc和free函数详解   本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...

  9. jQuery的deferred对象详解(转载)

    本文转载自: jQuery的deferred对象详解(转载)

随机推荐

  1. C++ classes and uniform initialization

     // classes and uniform initialization #include <iostream> using namespace std; class Circle ...

  2. delphi代码实现窗口最小化,最大化,关闭消息发送

      分类: 代码实现窗口最小化,最大化,关闭 var hwnd: hwnd;//句柄 PostMessage(hwnd,WM_SYSCOMMAND, SC_MINIMIZE,0); //最小化Post ...

  3. TrinityCore3.3.5环境搭建

    说起TrinityCore,可能知道的人不多,但是说起MaNGOS(芒果)知道的人应该就不少了.MaNGOS是一个魔兽私服服务器端,TrinityCore继承自TrinityCore并且做了优化,一直 ...

  4. PostgreSQL代码分析,查询优化部分,canonicalize_qual

    这里把规范谓词表达式的部分就整理完了.阅读的顺序例如以下: 一.PostgreSQL代码分析,查询优化部分,canonicalize_qual 二.PostgreSQL代码分析,查询优化部分,pull ...

  5. 一个完整的DLL远程注入函数

    函数名称: CreateRemoteDll() 返加类型:BOOL 接受参数: DLL路径,注入进程ID 其完整代码如下: BOOL CreateRemoteDll(const char *DllFu ...

  6. Android 数据存储03之SQLite

    SQLite数据存储 Android 集成了 SQLite 数据库.它存储在 /data/data/< 项目文件夹 >/databases/ 下.Android 开发中使用 SQLite ...

  7. .NET:自定义配置节

    背景 对于编译型应用程序来说,参数化程序行为是非常有必要的,.NET有其标准的配置方法,我们可以可以扩展. 示例 代码 using System; using System.Collections; ...

  8. 清除和新建WordPress数据库

    由于在本地已经安装过一次wordpress.所以假设第二次安装的时候 localhost/wp-admin/install.php 会显示你已经安装过了.所以须要把MySQL的数据库信息清除掉,或者另 ...

  9. 算法java实现--动态规划--电路布线问题

    /* * dianlubuxian.java * Version 1.0.0 * Created on 2017年11月30日 * Copyright ReYo.Cn */ package reyo. ...

  10. Xcode下修改plist文件

    plist文件在Mac OS下的重要性,如同Windows下的注册表文件.而很多场景下面,我们需要修改plist文件来实现一些"自动化"操作   Mac OS本身提供了一个工具:P ...