霜天部落 | 关注LAMP高性能、高并发架构的设计与研究

Firebug控制台命令大全 Console

Firebug是网站开发人员必不可少的一个工具,而其中的Console控制台,更是常用,我们通过向控制台中输出信息来对代码进行调试。

我们最常用的,要数Console.log命令了;其实,除了Console.log以外,还有很多命令:

1. Console.log

向控制台输出信息,同时可以使用类似于C语言中的字符替代,例如:

  1. var animal = "dog", count = 30;
  2. console.log("The %s jumped over %d tall buildings", animal, count);

控制台会输出:The dog jumped over 30 tall buildings

也可以不使用字符替换的方法:

  1. var animal = "dog", count = 30;
  2. console.log("The", animal, "jumped over", count, "tall buildings");

当然,可以把上面两种方式混合起来使用,例如

  1. var myName = "Jack", thing1 = "book", thing2 = "pen";
  2. console.log("I am %s and I have:", myName, thing1," and ", thing2);

如果输出的是一个对象的话,根据对象的不同,可以在HTML、CSS或者脚本的Tab查看 对象的具体情况,例如console.log(document.body)会在控制台输出<body>,点击<body>后, 会跳到HTML的Tab,并高亮body部分。

注:%s表示字符创类型,d%或者i%表示整数,f%表示浮点数,o%表示对象

其他与console.log()类似的,还有

console.log();     console.debug();     console.info();     console.error();     console.warn();

其不同点是:

(1)除了console.log() 其他都会显示行号

(2)除了console.log()和console.debug()其他都会有图标区别(如图)

2.console.assert()

用于判断一个表达式是否是真,如果为错误的话,会输出错误提示,例如

console.assert(1==2)会提示断言失败。

3.console.clear()

用于清除控制台信息,其实跟点”清除“按钮一样的。

4.console.dir()

用于表格化显示一个对象

5.console.dirxml()

在控制台中显示XML数,例如console.dirxml(document.body)会在控制台显示body的DOM文档树

6.console.trace()

显示JavaScript执行的堆栈信息

7.console.group()、console.groupCollapsed()、console.group()

对输出到控制台的信息进行分组

8.console.time()、console.timeEnd()

一般用于计算某段JavaScript执行的时间,例如:执行一个复杂的JavaScript计算,想看它花了多少时间:

9.console.profile()、console.profileEnd()

用于查看一段JavaScript代码的性能分析。

另外,通过”概况“按钮,可查看到整个页面JavaScript的执行性能分析。

10.console.count()

输出console.count()所在语句执行的次数,例如你要看一个循环是否执行了你预想的次数,可以在循环中放入一个console.count(“mycount”);这样,循环执行完成后,控制台就会显示出循环执行的次数。

11.console.exception()

显示程序中出现错误的堆栈和相关错误信息。

12.console.table()

将数据用表格的形式显示出来,比如数组,对象之类的,但是在我的Firebug(1.5.4)上提示console.table不是函数,不知道为什么。具体可查看:http://www.softwareishard.com/blog/firebug/tabular-logs-in-firebug/

另外,如果JavaScript中 包含debugger语句,执行到该语句处时,会自动在此处中断,并进入调试状态;

在IE中,也是可以使用debugger语句的。

以上内容翻译自:http://getfirebug.com/wiki/index.php/Console_API