zoukankan      html  css  js  c++  java
  • 调试JavaScript 错误的解决方案

     

    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 问题。

     

    Windows Script Debugger 官方下载

     

    ●  在IE 浏览器下,还可以使用的JS 调试工具 companion.js

    一款像firefox 中的firedebug 工具类似的一个工具包,它的特点就是可以有好的提示错误,并且可以在IE 浏览器下方出现控制台输出,方便及时调试。

     

    Companion.JS 官方介绍

     

    具体使用可参考这篇文章:http://hi.baidu.com/argv/blog/item/f4efe67ac370f7e12f73b3ad.html

     

    Microsoft Script Debugger及companion.js调试工具[下载]

     

    作者: XuGang   网名:钢钢
    出处: http://xugang.cnblogs.com
    声明: 本文版权归作者和博客园共有。转载时必须保留此段声明,且在文章页面明显位置给出原文连接地址!
  • 相关阅读:
    文件的上传和下载
    UIMenuController
    iOS中JavaScript和OC交互
    显示图片的各种方式
    图文混排
    介绍一下Cocao 和Cocoa Touch
    iOS 利用UIWebView与JavaScript交互的最简单办法(本人已验证可行)
    UIAlertView和UIAlertControl
    iOS的一些常用性能优化,和内存优化的方法
    关于ARC和MRC
  • 原文地址:https://www.cnblogs.com/xugang/p/1793392.html
Copyright © 2011-2022 走看看