手机版

JavaScript错误处理和调试经验总结

时间:2021-11-23 来源:互联网 编辑:宝哥软件园 浏览:

以下是JS错误处理和调试方法的总结。方法1:使用alert()和document.write()方法监控变量值。Alert()在弹出的对话框中显示变量值,并阻止代码继续运行,直到用户单击OK,而document.write()在输出该值后继续运行代码。调试JS时,可以根据具体情况选择这种方法。例如下面的代码:将数组A中以1开头的数据添加到数组B中,复制代码如下:DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www . w3 . org/TR/XHTML 1/DTD/XHTML L1-transition . DTD ' html xmlns=' http://www . w3 . org/1999/XHTML ' head title no title page/title script type=' text/JavaScript ' var a=[' 123 ',' 456 ',' 789 ',' 111 '];函数AlertMessage(){ var b=new Array(' 1111 ');for(var I=0;ia .长度;如果。索引Of('1 ')!=0){ alert(a[I]);b . push(a[I]);}}}/script/head body输入类型=' button ' value=' click on me ' onclick=' alert message()'//body/html如果添加了更多的值,可以使用document.writer()方法来避免重复单击ok按钮。方法二:使用onerror事件查找错误:当页面异常时,会在window对象上触发错误事件,可以告诉开发者某个程序有错误,帮助开发者查找错误,如下例所示:复制代码如下:DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www . w3 . org/TR/XHTML 1/DTD/XHTML L1-transition . DTD ' html xmlns=' http://www . w3 . org/1999/XHTML ' head title no title page/title script type=' text/JavaScript ' window . onerror=function(){ alert('抱歉,出问题了!'。);}/script/head body onload='不存在()'/body/html代码在运行body标记的onload事件时调用了一个不存在的函数neutral(),导致了一个错误,如下图所示:

同时也出现了浏览器本身的代码调试错误:

避免浏览器自己的错误提示很简单,最后只需要onerror事件的处理程序返回TRUE,代码如下:复制代码如下:DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www . w3 . org/TR/XHTML 1/DTD/XHTML L1-transition . DTD ' html xmlns=' http://www . w3 . org/1999/XHTML ' head title no title page/title script type=' text/JavaScript ' window . onerror=function(){ alert('抱歉,出问题了!'。);返回真;//shield system events }/script/head body on load='不存在()'/body/html,但这种处理方式无助于解决错误。实际上,onerror还提供了三个参数来确定错误的性质,代码:复制代码如下:DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www . w3 . org/TR/XHTML 1/DTD/XHTML L1-transition . DTD ' html xmlns=' http://www . w3 . org/1999/XHTML ' head title no title page/title script type=' text/JavaScript ' window . one error=function(message,URL,line) {alert '(抱歉,出现了33333的错误返回真;//shIEld系统事件}/script/head body onload='不存在()'/body/ie运行时的html提示:

火狐运行技巧

当IE浏览器出现错误事件时,正常代码会继续执行,所有变量和数据都会保存下来,可以通过one error事件处理程序进行访问。在Firefox中,正常的代码执行会结束,错误前的所有变量和数据都会被销毁。方法三:试着找出错误。catch语句。复制代码如下:DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www . w3 . org/TR/XHTML 1/DTD/XHTML L1-transition . DTD ' html xmlns=' http://www . w3 . org/1999/XHTML ' head title no title page/title script type=' text/JavaScript ' try { alert '(这是try的一个例子.catch’);alert(你好);} catch(异常){ var error=for(异常中的var I){ error=I ':“异常[I]”\ n;}警报(错误);}/脚本/头体/正文/html IE运行时提示:

火狐运行时提示:

尝试….catch可以轻松发现错误问题,但遗憾的是,这个语句不能很好地处理语句错误。示例:复制代码如下:DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www . w3 . org/TR/XHTML 1/DTD/XHTML L1-transition . DTD ' html xmlns=' http://www . w3 . org/1999/XHTML ' head title no title page/title script type=' text/JavaScript ' try { alert '(这是try的一个例子.catch’);} catch(异常){ var error=for(异常中的var I){ error=I ':“异常[I]”\ n;}警报(错误);} /script /head body /body /html try语句有一个括号不匹配的错误,但是整个代码并没有运行catch中的模块,而是浏览器弹出了一个错误提示框,如下所示:

方法四:用Firefox错误控制台调试:选择Firefox菜单栏中的“工具”-“错误控制台”打开,浏览时运行的所有错误、警告和消息都会传输到错误控制台,如下所示:

火狐提示的错误信息比IE更全面、更准确。方法五:使用火狐插件Firebug是火狐下的一个开发插件,现在是火狐的五星强力推荐插件之一。它集成了HTML查看和编辑、JavaScript控制台和网络状态监视器,是开发Javascript、CSS、HTML和Ajax的强大助手。Firebug就像一把精美的瑞士军刀,从不同角度分析网页内部的细节,给Web开发者带来了极大的便利。关于如何安装和使用FireBug请参考本文:http://apps.hi.baidu.com/share/detail/15314208方法6:使用Miscrosoft脚本调试器进行调试:在IE菜单栏中打开工具-互联网选项,选择高级,并删除禁用脚本调试复选框。

如何使用就不介绍了。方法七:在IE下使用JS调试工具companion.js,一个类似于火狐中firedebug工具的工具包,特点是IE浏览器下有很好的错误提示和控制台输出,方便及时调试。具体可以参考这篇文章:http://hi . Baidu.com/argv/blog/item/f4ef e 67 AC 370 f7e 12 f 73 B3 ad . html等JS调试工具就不一一介绍了,但也可以介绍几种比较好的JS错误处理方法或者JS调试工具。

版权声明:JavaScript错误处理和调试经验总结是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。