firebug实用技巧 .docx
《firebug实用技巧 .docx》由会员分享,可在线阅读,更多相关《firebug实用技巧 .docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结第 8 章 调试技巧理想的软件开发是不需要调试的,但在现实开发过程中,开发人员总是会由于不同的缘由而犯各种各样的错误,以至于给所构建的系统带来不同程度的危害。有些错误浅显而低级,比如用错了大小写, 或者写错了变量名等等。而有些错误是复杂的规律错误,这类错误往往隐匿较深,不简洁找出错误的缘由。另外一些错误可能是功能实现的方式有问题,导致程序有性能瓶颈等等。可以说,软件开发就是不断编码和调试的过程。使用好的调试工具并把握好的调试技巧能够加快软件开发进程,提高产品质量。本章将向读者详细介绍使用Firebug 和 Aptana 调试 JavaScript 程序的一些技巧。8.1 深化解
2、析 Firebug 的调试功能在本书的第五章中已经向读者介绍过了Firefox浏览器的优秀调试插件Firebug的界面和基本功能。 本节将向读者深化讲解如何利用Firebug 的把握台输出各种自定义的信息、查看错误提示,如何利用命令行工具在页面上执行JavaScript 代码,以及如何使用脚本查看器进行脚本的调试。8.1.1 检查常规错误当 Firefox遇到一个 JavaScript 错误时, Firebug 会在其把握台输出一个错误信息。这个错误信息包含了错误的描述、发生错误的代码片断、包含该代码片断的函数或者方法、以及大事对象信息。下面这个示例中,在测试按钮的大事处理函数中调用了一个不存
3、在的函数,代码如下所示。console demo function errorTestnotExistFunction;/不存在的函数用 Firefox打开页面,如图8.1 所示。单击 “test button”按钮,按钮的 click 大事处理函数 errorTest会被调用,这时候errorTest 会调用一个不存在的函数notExistFunction ,从而引发一个错误。浏览器遇到可编辑资料 - - - 欢迎下载精品名师归纳总结脚本错误时,右下角Firebug 的绿色小图标会变成红色以提示当前页面存在脚本错误,如图8.2 所示。图 8.1示例程序界面图 8.2错误提示红色图标后面的数字
4、表示错误的个数。单击红色图标或者按F12 打开 Firebug 界面,如图 8.3 所示。图 8.3错误提示错误被把握台用红色的字体,配上红色的错误图标醒目的现实了出来。错误的标题是对错误的描述,这里 “notExistFunction is not defined ”指 notExistFunction没有被定义。标题下面是发生错误的那一行代码。标题右边是发生错误的文件名和错误代码所在的行号。单击标题后面的文件说明或者标题下面的错误行代码提示,都可以转到脚本查看器并完整的查看该文件的脚本代码,如图8.4 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结图 8.4查看错误代码标题前面有一
5、个 “+”号的小图标,表示标题可以被开放,单击图标开放标题,如图8.5 所示。图 8.5开放标题标题开放后,下面显示的分别是包含错误代码的函数或方法,以及当前大事的相关信息。单击函数或方法名,可以转到脚本查看器查看器代码,如图8.6 所示。图 8.6查看函数代码单击大事的描述信息,可以转到DOM查看器查看大事对象的详细信息,如图8.7 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结图 8.7查看大事对象当程序中显现错误时,通过查看Firebug 把握台输出的错误信息可以让开发者快速定位分析并修复错误。8.1.2 完善的 log 功能在调试程序时,经常需要让程序在运行过程中输出一些信息,
6、使得开发者可以实时把握到程序运行的情形。 Firebug 的把握台供应了完整的log 功能,在第五章中读者已经见过console.log 的使用,下面来向读者介绍全部的log 语法。1.console.logconsole.log 供应了在把握台中输出信息的基本方法,其语法如下所示。console.logmessage1,message2,.,messageN;在代码被执行时,其参数会被连接在一起输出到Firebug 的把握台中。 console.log 仍支持 5 种占位符,见表 8-1 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结占位符符%s%d,%i%f%o说明 字符串整数 浮
7、点数对象表 8-1console.log占位符可编辑资料 - - - 欢迎下载精品名师归纳总结占位符只能在 console.log 的第一个参数中使用。当第一个参数中包含占位符时,程序会依据占位符的数量,取从其次个参数开头的足够数量的参数替换到对应的占位符所在的位置,剩下的其他参数,就依据默认行为被连接到输出信息的末尾。下面的示例演示了console.log 的用法,其代码如下所示。console.log demo可编辑资料 - - - 欢迎下载精品名师归纳总结 console.logmessage start; var number = 123.22;var int = 55;var str
8、ing = 321;var object = name:rob,sex:mail; console.lognumber = ,number; console.lognumber = %f,number; console.logint = %d,int; console.logstring = %s,string; console.logobject = %o,object;console.lognumber = %f , int = %d , string = %s , object = %o,number,int,string,object,others.; console.logmessa
9、ge end使用 Firefox拜望该示例页面,可以看到在Firebug 的把握台中输出了指定的信息,如图8.8 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结2.console.debug图 8.8console.log 示例可编辑资料 - - - 欢迎下载精品名师归纳总结console.debug 与 console.log一样可以接受多个参数,所不同的是通过console.debug 输出的信息会被添加一个链接,单击链接时会依据参数的类型自动转换到其他视图。当参数为DOM对象或者JavaScript 对象时,会转到 DOM查看器显示对象的详细信息。当参数为HTML元素时,就会转到
10、HTML查看器并定位到该元素节点上。假如参数为一个函数或者方法,就会转到脚本查看器并定位到函数或者方法的定义所在行。假如参数只是一个数字或者字符串等基本类型的值,就不会添加任何链接。比较特殊的是当参数为数组时, Firebug 会分析其中每个元素的类型并添加相应的链接。下面的示例显示了console.debug 的用法,代码如下所示。console.debug demo可编辑资料 - - - 欢迎下载精品名师归纳总结 function funca,breturn a + b;window.onload = functionvar object = name:rob,sex:male; var
11、number = 12;var string = 123;var array = 1,2,3,object,number,string;var node = document.getElementByIdnode; console.debugobject; console.debugarray; console.debugnumber; console.debugstring;console.debugfunc; console.debugnode; console.debugwindow; console.debugdocument; console.debugscreen; console
12、.debugnavigator;console.debug demo程序运行后,在Firebug 把握台输出的信息如图8.9 所示。图 8.9console.debug 示例单击第一条信息的链接, Firebug 转到 DOM查看器视图并显示了对象的详细信息,如图8.10 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结图 8.10查看对象详细信息单击 “funca,b”这条信息的链接, Firebug 转到脚本查看器视图,并定位到该函数定义所在的行,如图 8.11 所示。图 8.11查看函数定义单击“条”信息时,就会转到HTML查看器并定位到该元素节点上,如图8.12 所示。图 8.1
13、2查看 HTML元素3.console.infoconsole.info 的功能与 console.debug 一样,所不同的是其会在输出到Firebug 把握台的信息前面加上一个表示留意信息的小图标。例如,将上面示例中的console.debug 替换成 console.info,如下所示。console.info demo可编辑资料 - - - 欢迎下载精品名师归纳总结function funca,breturn a + b;window.onload = functionvar object = name:rob,sex:male; var number = 12;var string
14、= 123;var array = 1,2,3,object,number,string;var node = document.getElementByIdnode; console.infoobject;console.infoarray; console.infonumber; console.infostring; console.infofunc; console.infonode; console.infowindow; console.infodocument; console.infoscreen; console.infonavigator;console.info demo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- firebug实用技巧 firebug 实用技巧
限制150内