可以用来调试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 相关文章推荐
js中复制行和删除行的操作实例
Jun 25 Javascript
node.js中的http.get方法使用说明
Dec 14 Javascript
JS获取图片高度宽度的方法分享
Apr 17 Javascript
js焦点文字滚动效果代码分享
Aug 25 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
Sep 24 Javascript
基于Jquery easyui 选中特定的tab
Nov 17 Javascript
基于JavaScript实现滑动门效果
Mar 16 Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 Javascript
vue图片加载失败时用默认图片替换的方法
Aug 29 Javascript
Nuxt v-bind绑定img src不显示的解决
Dec 05 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
Aug 12 Javascript
原生js 实现表单验证功能
Feb 08 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程序的国际化实现方法(利用gettext)
2011/08/14 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
2020/03/10 Javascript
小程序实现录音功能
2020/09/22 Javascript
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
python 换位密码算法的实例详解
2017/07/19 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
Python进程池Pool应用实例分析
2019/11/27 Python
python各层级目录下import方法代码实例
2020/01/20 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
党支部活动策划方案
2014/08/18 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
党委领导班子整改方案
2014/09/30 职场文书
辞职信格式范文
2015/05/13 职场文书
少年雷锋观后感
2015/06/10 职场文书
大学生读书笔记大全
2015/07/01 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
Js类的构建与继承案例详解
2021/09/15 Javascript
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫