Firebug and Logging
原文地址:https://getfirebug.com/logging
拥有一个功能强大的JavaScript调试器非常重要,不过有时候查找问题的最快方法是输出尽可能多的信息到控制台中。FireBug为您提供了一系列功能强大的的日志记录函数,您可以在web页面中调用这些函数。
您的新朋友,console.log
在FireBug控制台输出消息最简单的方法如下:
console.log("hello, world")
只要愿意,您还可以传递更多的参数,
console.log(2,4,6,8,"foo",bar)
这些参数会连接成一行输出到控制台中。
以超链接形式输出对象
console.log除了输出文本内容到控制台以外,还可以完成更多的任务。您可以传递任意类型的对象给它,对象将会以超链接的形式输出到控制台。单击链接,就会在适当的视图中显示该对象。
格式化字符串
console.log可以按printf格式对字符串进行格式化。例如,您可以这样写:
console.log("%s is %d years old.", "Bob", 42)
彩色的输出
除了console.log,还有另外一些函数可以用来以不同的颜色外观打印消息到控制台。它们是:
console.debug
console.info
console.warn
console.error
时间测量与分析
FireBug为您提供了两种方法来检验JavaScript的性能。
一种方法是在要检验的代码之前调用console.time("timing foo"),在要检验的代码之后调用console.timeEnd("timeing foo"),FireBug会记录下来这之间花费的时间。
另一种方法是使用JavaScript分析工具。在要检验的代码之前调用console.profile(),在要检验的代码之后调用console.profileEnd(),
FireBug会记录下来包含每一个函数被调用的次数在内的详细报告。
堆栈
调用console.trace(),FireBug就会输出当前堆栈的信息到控制台中。它不仅显示出当明堆栈中被调用的函数,还包含每一个参数的信息。您可以单击函数或对象来进一步查看。
分组
有时候消息列表内容较多不便于阅读,FireBug为您提供了缩进显示的解决方法。只需要调用console.group("a title")来开始一个新的缩进块,调用console.groupEnd()来结束一个缩进块。您可以创建任意多的缩进块。
对象查阅
您有过多少次手工编写代码来输出一个对象的所有属性,或者一个HTML片段中的所有元素?使用FireBug,您再了不需要那样做了。
调用console.dir(object)就会把该对象的所有属性以一个交互式列表的形式输出,就象一个微型版的DOM选项卡。
调用console.dirxml(element),element可以是任意HTML或XML元素,该元素就会被输出为xml格式,就像一个微型版的HTML选项卡。
断言
断言是一种保证您的代码在面对变化时仍然正确的非常好的方法。FireBug提供了一系列断言函数,其能够在断言失败的时候输出信息到控制台。
调用方法:
console.assert(expression[, object, ...])
附:Console API http://getfirebug.com/wiki/index.php/Console_API