首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

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

2013-09-04 
IE中debug模式已正常模式下运行结果不一样 bug分析? ? ? ? 前端时间在写javascript前端代码的时候,因为自

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);

? ? ? ?}

热点排行