当前位置:首页 > 开发 > Web前端 > 前端 > 正文

IE中debug模式已正常模式下运行结果不一样 bug分析

发表于: 2013-08-20   作者:crise   来源:转载   浏览:
摘要:         前端时间在写javascript前端代码的时候,因为自己对前端也是半瓢水的水平,js中加了很多console.log的代码,项目在发布的过程中出现了很多诡异的现象,话了很长时间排查,最后发现在IE中,console是未被定义的,如果在非debug的模式下,会导致js出现异常,导致某些js无法正常工作,所以在用console.log调试代码的时

        前端时间在写javascript前端代码的时候,因为自己对前端也是半瓢水的水平,js中加了很多console.log的代码,项目在发布的过程中出现了很多诡异的现象,话了很长时间排查,最后发现在IE中,console是未被定义的,如果在非debug的模式下,会导致js出现异常,导致某些js无法正常工作,所以在用console.log调试代码的时候一定要注意加一个typeof console==‘undefined’的判断;

       其实可以吧console.LOG单独写成一个自定义函数,所以调试的代码都通过这个自定义打印,这样可以避免粗心操作最后发布的时候代码中包含直接使用console对象;

       如果在IE中出现debug模式和正常模式运行结果不一样的时候,可以加try{}catch(err){}来捕获异常;异常信息通过如下函数打印出来:

       function alertObject(Obj)  {

              var propertyList = '';

              var propertyCount = 0;

              for (i in Obj) {

                      if (Obj.i != null)

                              propertyList = propertyList + i + '属性:' + Obj.i+':'+Obj[i] + '\r\n';

                      else

                              propertyList = propertyList + i +':'+Obj[i]+ '方法\r\n';

               }

              alert(propertyList);

       }

IE中debug模式已正常模式下运行结果不一样 bug分析

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号