个人觉得调试在编写js的过程中占了很大的比重,调试是技能成长的必修课 ,个人偏爱Firebug。
一 使用心得
虽然编程时间不长,但是自打开始前端的旅途,就没有离开过Firebug。
个人觉得其中的(控制台的”所有“)、(HTML以及样式的动态修改)、(DOM)、(网络中的“所有”)最有使用价值。
脚本也非常有用,但是自己不会用,一般在程序中加入console/reurn进行调试。
当然Firebug也有各种强力的插件,可以辅助前端在前端游刃有余,所以极力推荐firebug,同时也希望国内的程序猿(包括自己这个小前端)早日直立行走,生产适合自己的工具。
二 Console
Console是JS调试中最常用的对象,但是不是window对象原有的的属性。我用最多的是console.log,可以打印基础类型以及复合类型的变量,也可以输出浏览器或者文档对象,所以一般在看是一段JS的时候,会将console.log()赋值给cl,方便使用。 log方法中还可以使用占位符,console.log("%d年%d月%d日",2013,4,19),可以得到2013年4月19日。
console.group()可以分组打印变量,没用过。console.group("第一组信息");console.log("第一组第一条");console.log("第一组第二条");console.groupEnd();
console.dir()/console.table()可以列出复合对象的详细信息,console.log()也可以做到,主要是剩去了点击的步骤。
console.dirxml(#id)可以输出DOM的HTML结构,当不清楚DOM位置的时候,还是有一定实用价值的。
console.time()/timeEnd() 可以计算某一段程序执行的时间,当然自己加短小代码也可以实现这个功能的(Date)。
console.profile()/profileEnd() 用来分析函数调用效率问题,很有用。
话说回来,console.log()就够了, 性能上的提升,需要依赖console/profile(), 得加把劲。
https://getfirebug.com/wiki/index.php/Console_API#Implementation_Notes