js问题定位调试

js问题定位调试

ID:20515582

大小:158.56 KB

页数:16页

时间:2018-10-12

js问题定位调试_第1页
js问题定位调试_第2页
js问题定位调试_第3页
js问题定位调试_第4页
js问题定位调试_第5页
资源描述:

《js问题定位调试》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Js问题定位调试1.使用相关调试器•在Firefox浏览器中,可以使用其自带的“错误控制台”。操作步骤如下:打开Firefox浏览器在菜单条"工具〃巾一选择"错误控制台"即可。在没有其他插件的怡况下,其自带的"错误控制台"是一个非常不错的选择。另外,在Firefox浏览器中,还有一些很不错的调试器,如:Firebug等。Firebug调试器安装后,可以在Firefox浏览器-*在菜单条"工具〃屮-*选择"Firebug"-*选择"打开Firebug"即可,默认快捷方式是F12;•在chrome浏览器中,可以使用其自带的“错误控制台”来调试ChromeDeveloperTool•在IE浏

2、览器中,可以使用MicrosoftScriptDebugger调试器下载安装以后,必须将IE浏览器的调试选项打开才能使用。操作步骤如下:1>打幵IE浏览器一选择菜单栏的"工具"一"Internet选项"命令一"高级"选项卡一将"禁用脚本调试(InternetExplorer)〃复选框中的勾去掉即可。2>当IE浏览器正在浏览页面'吋,运行MicrosoftScriptDebugger调试器工具即可进行调试。对于IE浏览器,低版本的兼容问题比较棘手,可以采用lEtester来模拟不同的IE版本来调试问题(当然,有些问题在IEtester下并不能重现)2.常用调试方法2.1添加断点川'以采用

3、上述的调试工具进行添加断点來实时跟踪变量的值的变化2.2使用alert(}和document.writeO或者console.Iog()方法监视变量值如果要中断代码的运行,监视变量的值,则使用alert()方法;如果需要查看的值很多,贝U使用document.write()方法,避免反复单击"确定〃按钮;对于console.logO,低版本的iE是不支持的,当代码编写完成后,放该记得将其去掉1.2使用window.onerror事件当页面出现异常时,onerror事件会在window对象上触发。它能在一定程度上告诉开发者相关的错误信息。示例:注意:在旧中,触发error事件后,正常的代

4、码会继续运行,所有的变量和数据都会保存下来,在其onerror事件处理方法中可以正常访问到;而在Firefox巾,触发error事件后,一切都结朿,所有的变量和数据都将被销毁。2.4使用try...catch语句找错误〈scripttype="text/javascript"〉functionmyerror(_message,_url,_line){alert(〃错误信息:〃+_message+〃错误的URI:"+_url+"错误的行数:〃+jine);returntrue;//屏蔽系统的事件}//绑定错误事件window,onerrormyerror;//触发错误示例:win

5、dow,onload=test;〈/script〉注意:try...catch并不能很好的处理JavaScript的语法错误,但是可以大致找到错误发生的区域1.常用错误问题表现3.1直接报js语法错误这是最简单的,需要检查是否因为多敲了个括号},或者是变量名写错,表示为声明,总之这种问题很好追踪.1.2js报错,但报错地点不是出问题的根源这种情况大部分可以解决,但有时候完全不知道是从哪里引用过来的,这种时候会相当的头疼。1.3js无报错,但功能无效这种情况更糟糕,完全没宥头绪了......那我告诉你,往往这种时候最终解决错误的方法更容易。根据特征,往往能够快速定位错误的人概位置,便于进

6、一步杏找问题。1.4Js在某些浏览器中有效,某些浏览器中无效这就涉及到了浏览器中js的兼容性问题,一般情况下是低版本IE(IE8及以下)和其他高级浏览器之间的差异.当然也有高级浏览器之间的兼容性问题.对于这些问题一般是需要查阅资料和丰富的调试经验.3.5.功能基本正常,但是偶现bug这种问题不好定位,因为时出现不是出现,最关键的问题是要注意抓住细节,找准规律,判断到底是什么情况才会岀现,这样,就可以轻松解决了。在这里,我举两个例子:在之前第一个版本的体检系统中,由一个同事负责人员登记页面的开发,由于上面的功能还是相对复杂,他花了较长时间,测试后终于觉得功能没有问题了,但是当要开发下一个

7、功能的时候,发现这个功能有一个文本框偶尔不能回设上值。后来经过反复测试重现,最终发现原来是他的这个文本框的id和其他页面的id冲突了,也就是说单独打开这个页面的时候是正确的,但是打开多个页面id冲突后就不正常了。在第二个版本的体检系统屮,周雷发现在打印健康证的时候,在IE8下面会出现第一次点击打印时会不生效(偶现,不是必现),页而会转圈圈,但是不会开始打印。后来经过反复测试和重现,发现原来是健康证编号的文本框监听事件的差异,为了兼容所有浏览器,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。