当前位置: 代码迷 >> Web前端 >> IE中debug方式已正常模式下运行结果不一样 bug分析
  详细解决方案

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

热度:105   发布时间:2013-09-04 10:34:09.0
IE中debug模式已正常模式下运行结果不一样 bug分析

? ? ? ? 前端时间在写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);

? ? ? ?}

  相关解决方案