javascript调试说明 |
||||||||||||||||||||||||||||||||||
本文标签:javascript,调试 以前javascript对于IO的支持很弱,不能写入相应的文本文件中,而且异常对象Error也不统一,无法打印详细的堆栈 。自定义异常对象是个非常不讨好的方法,因为通常我们只看到其message属性,再者,其他自定义属性需要用最慢的for...in循环遍历出来 。这时没有办法了,我们只有求助于浏览器的各种私有实现,如firefox就有console.log 。下面是console对象的方法列表,关于firebug更详细的使用可见这篇文章 。
firebug就自不多说了,IE8也有console.log,不过这需要按下F12,进入调试模式时才有效,不然报错 。为了不报错,平时我们应该实现一个空对象来覆盖它 。 复制代码 代码如下: if (!window.console ){ window.console = {}; var methods = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"], noop = function(){} for (var i = 0,method;method=methods[i++];) window.console[method] = noop; } 大概opera9.5x之后吧,多了一个叫Dragonfly的东东 。显然,它无法与firebug花样繁多的日志输出相比,它只提供了一个opera.postError方法 。 复制代码 代码如下: if (window.opera && opera.postError) { opera.postError(message); } safari也有console.log,它是基于其Web Inspector组件,感觉与firefox差不多,但我不是水果党,不知道其方法有没有firebug那么多……对于浏览器新贵chrome,现在我们可以在其扩展程序搜索安装firebug的chrome版本 。 |