可以用来调试JavaScript错误的解决方案


Posted in Javascript onAugust 07, 2010

A 使用alert() 和document.write() 方法监视变量值
如果要中断代码的运行,监视变量的值,则使用alert() 方法;
如果需要查看的值很多,则使用document.write() 方法,避免反复单击“确定”按钮;

B 使用window.onerror 事件
当页面出现异常时,onerror 事件会在window 对象上触发。它能在一定程度上告诉开发者相关的错误信息。
示例:

<script type="text/javascript"> 
function myerror(_message,_url,_line) 
{ 
alert("错误信息:" + _message 
+"\n错误的URI:" + _url 
+"\n错误的行数:" + _line 
); 
return true; //屏蔽系统的事件 
} 
//绑定错误事件 
window.onerror = myerror; 
//触发错误示例: 
window,onload = test; 
</script>

注意:在IE 中,触发error 事件后,正常的代码会继续运行,所有的变量和数据都会保存下来,在其onerror 事件处理方法中可以正常访问到;而在Firefox 中,触发error 事件后,一切都结束,所有的变量和数据都将被销毁。

C 使用 try...catch 语句找错误
示例:

<script type="text/javascript"> 
try 
{ 
alert(触发异常); 
} 
catch (_ex) //可以省略“_ex”参数 
{ 
var err = "错误信息"; 
for (var i in _ex) 
{ 
err += "\n参数名:" + i 
+ "\t参数值:" + _ex[i]; 
} 
alert(err); //打印错误 
} 
finally //finally 可以被省略... 
{ 
alert("finally 总是会运行"); 
} 
</script>

注意:try...catch 并不能很好的处理JavaScript 的语法错误。
示例:
<script type="text/javascript"> 
try 
{ 
alert("触发语法错误")); //多了半边“)” 
} 
catch (_ex) //可以省略_ex参数 
{ 
var err = "错误信息"; 
for (var i in _ex) 
{ 
err += "\n参数名:" + i 
+ "\t参数值:" + _ex[i]; 
} 
alert(err); //打印错误 
} 
</script>

该示例并没有进入catch 块中。

D 使用相关调试器
在IE 和Firefox 浏览器中,可以使用相关的调试器或插件对JavaScript 进行调试。

● 在Firefox 浏览器中,可以使用其自带的“错误控制台”。操作步骤如下:
打开Firefox 浏览器 → 在菜单条“工具”中 → 选择“错误控制台”即可。
在没有其他插件的情况下,其自带的“错误控制台”是一个非常不错的选择。

另外,在Firefox 浏览器中,还有一些很不错的调试器,如:Venkman、Firebug 等。
Venkman 调试器安装后,可以在Firefox 浏览器 → 在菜单条“工具”中 → 选择“JavaScript Debugger ”命令启用;
Firebug 调试器安装后,可以在Firefox 浏览器 → 在菜单条“工具”中 → 选择“Firebug”→ 选择“打开 Firebug”即可;

● 在IE 浏览器中,可以使用 Microsoft Script Debugger 调试器
Microsoft Script Debugger 是微软随IE 4 一同发布的一个IE插件,可以从微软的官方网站上免费下载。
下载安装以后,必须将IE 浏览器的调试选项打开才能使用。操作步骤如下:
1> 打开IE 浏览器 → 选择菜单栏的“工具”→ “Internet 选项”命令 → “高级”选项卡 → 将“禁用脚本调试(Internet Explorer )”复选框中的勾去掉即可。
2> 当IE 浏览器正在浏览页面时,运行Microsoft Script Debugger 调试器工具即可进行调试。
在Microsoft Script Debugger 调试器的 Running Document 面板中选择开启的页面文件(只读),然后按F9 可以设置断点调试。另外,其Command Window 面板也是一个很有用的功能,它能在代码断点停止时,在其中输入变量名并回车,便可看到此时变量的值;Command Window 面板甚至可以接受简单的JavaScript 命令。但Microsoft Script Debugger 调试器自身还存在一个bug 问题。

Javascript 相关文章推荐
javascript demo 基本技巧
Dec 18 Javascript
JavaScript DOM学习第八章 表单错误提示
Feb 19 Javascript
jquery form 隐藏的input 选择
Apr 29 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
Jquery结合HTML5实现文件上传
Jun 25 Javascript
JavaScript计算器网页版实现代码分享
Jul 15 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
bootstrap滚动监控器使用方法解析
Jan 13 Javascript
用npm-run实现自动化任务的方法示例
Jan 14 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
Dec 13 Javascript
微信小程序后端无法保持session的原因及解决办法问题
Mar 20 Javascript
解决Can't find variable: SockJS vue项目的问题
Sep 22 Javascript
DLL+ ActiveX控件+WEB页面调用例子
Aug 07 #Javascript
JavaScript中继承的一些示例方法与属性参考
Aug 07 #Javascript
javascript 防止刷新,后退,关闭
Aug 07 #Javascript
纯CSS打造的导航菜单(附jquery版)
Aug 07 #Javascript
基于jquery的商品展示放大镜
Aug 07 #Javascript
jquery autocomplete自动完成插件的的使用方法
Aug 07 #Javascript
jQuery的实现原理的模拟代码 -5 Ajax
Aug 07 #Javascript
You might like
PHP实现的简单日历类
2014/11/29 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
微信跳一跳辅助python代码实现
2018/01/05 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
联想C++笔试题
2012/06/13 面试题
党员的自我评价范文
2014/01/02 职场文书
农村党支部先进事迹
2014/01/14 职场文书
八项规定整改方案
2014/02/21 职场文书
艺术学院毕业生自我评价
2014/03/02 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
2014年国庆标语
2014/06/30 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
《花钟》教学反思
2016/02/17 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python