利用 Cosole 来学习、调试JavaScrip

一  什么是 Console 
Console 是用于显示 JS和 DOM 对象信息的单独窗口。而且向 JS 中注入1个 Console 对象,使用该对象
能够输出信息到 Console 窗口中。 
 
二  什么浏览器支持 Console 
不少人可能都知道 Chrome 和 FireFox(FireBug)中都支持 Console。而其余浏览器都支 
持很差。好比 IE8 自带的开发工具虽然支持 Console,但功能比较单调,显示对象的时候都是显示
[Object,Object],并且不能点击查看对象里面的属性。IE六、IE7 虽然能够安装 Developer Toolbar,但也
不支持 console。Safari、Opera 都支持 Console,但使用上都没有 FireBug和 Chrome 的方便。 
  如今firebug推出了 firebuglite工具,可让全部浏览器都支持Console功能,并且使用上和FireBug
几乎同样。详见 http://getfirebug.com/firebuglite 
  后面的全部 demo 除特别说明外,都是使用 firebuglite在 IE8 下的测试截图。 
 
三  为何不直接使用 alert 或本身写的 log 
/*编程技术*/  做者  熊星 
使用 alert 不是同样能够显示信息,调试程序吗?alert 弹出窗口会中断程序, 
若是要在循环中显示信息,手点击关闭窗口都累死。并且 alert 显示对象永远显示为[object ]。 
  本身写的 log 虽然能够显示一些 object 信息,但不少功能支持都没有 console 好,看完后面 console
的介绍就知道了。 
 
四  Console.log(object[, object, ...]) 
Console.log 是最简单输出信息到 console 窗口的方法,支持多个参数,该方法会把 
这些参数组合在一块儿显示,e.g: 
 
 
Log 方法第一个参数支持相似 C 语言 printf 字符串替换模式,好比上面的列子能够这样写: 
 
Log 支持下面几种替换模式: 
%s  代替字符串 
%d  代替整数 
%f  代替浮点值 
%o  代替 Object 
 
五  console.debug,info,warn,error 
这 4 种方法与 log 方法使用如出一辙,只是显示的图标和文字颜色不同,e.ghtml

六  console. assert(expression[, object, ...]) 
assert 方法相似于单元测试中的断言,当 expression 表达式为 false 的时候,输出后面的信息,e.g: 
 
 
注:assert 方法在 firebuglite 不支持,Chrome 和 FireBug 支持 
 
七  console.clear() 
该方法清空 console 中的全部信息 
 
八  console.dir(object) 
以列表的方式打印 object 对象中的全部属性,e.g: 
 九  console.dirxml(node) 
把 html 元素的html 代码打印出来,e.g: 
 
 
 
十  console.trace() 
trace 方法能够查看当前函数的调用堆栈信息,即当前函数是如何调用的,e.g: 
十一  console.group(object[, object, ...]), groupCollapsed, groupEnd 
这 3 个函数用于把 log 等输出的信息进行分组,方便阅读查看。groupCollapsed 
    方法与 group 方法同样,只是显示的分组默认是折叠的,e.g: 
 
 十二  console.time(name)/console.timeEnd(name) 
咱们常常须要测试 js 函数的执行时间,可能咱们本身写代码在第1 条语句和 
最后 1 条语句取当前时间相减。这组函数其实就实现了这样的功能,time(name)根据 name 建立 1 个新
的计时器。timeEnd(name)中止给定name 的计时器,并显示时间。e.g: 
十三  console.profile(name)/console.profileEnd() 
这组方法用于打开浏览器的分析器,用于分析这组函数之间的 js 执行状况, 
e.g: 
 
 
 
注:firebuglite 不支持 profile 功能,上图是 FireBug 的截图,Chrome 支持 profile,但分析的内容不
同样,感兴趣的同窗能够本身研究下。 
 
十四  console.count([title]) 
count 方法用于统计当前代码没执行过多少次,title 参数能够在次数前面输出 
额外的标题以帮助阅读,e.g: 
注: firebuglite 不支持 count 方法,上述代码在 Chrome 中会打印 1000 次,显示没有 FireBug 那么友好。 
 
十五  console.exception(error-object) 
exception 方法用于打印异常对象,与 log 打印不同是,except ion 还会打印 
该异常调用的堆栈信息,e.g: 
注:exception 方法是 FireBug 独有的方法,Chrome 和 firebuglite 都不支持。 
 
十六  console.table(data) 
table 方法把data 对象用表格的方式显示出来,这在显示数组或者格式同样的 
JSON 对象的时候很是有用。enode

注:table 只支持 FireBug,并且是在 firebug1.6+版本后才有。 
 
总结: 
  Console 是帮助咱们学习和调试 JS的 1 个很是好工具,若是你之前没用过,哪如今就开始用它吧。你
会发现它能帮你省不少开发时间的。express

相关文章
相关标签/搜索