我想没多少人敢保证写JavaScript能不用调试,那选择用什么方式调试会比较好呢?
- 告别了我最爱的
alert("MM") - 告别了我最爱的
document.title="MM" - 告别了我最爱的
window.status="MM"
大家开始用各种新的方式来看调试信息。。。比如最近sitepoint就发了一篇Debugging JavaScript: Throw Away Your Alerts!,大家先去看,看完再回来接着看。
var err = new Error(); err.name = 'My API Input Error'; err.message = 'Input must be a number'; throw(err);
throw虽然不错,但是我们调试时可能不只能抛错,还可能抛很多奇怪的信息,比如把执行时间、返回结果打出来看,当然,你也可以写不同的err.name来区分。但是,有事没事看到报错也是很不爽的一件事。
写JavaScript的同学应该都有装Firebug,如果没装赶快装去,装完了再回来看,要是连Firefox都没有就玩Firebug Lite。
Firebug提供有了个console,你可以用:console.log(object[, object, ...])和若干console.xxx来玩,这样就可以把错误跟警告区分开了,挖哈哈。
同时,console并不是Firebug独有的,你也可以用console.log('嗷嗷又出来忽悠人了!');把信息打到Safari的错误控制台,还可以这样玩:
console.warn('这个图标很黄');console.error('×的图标不好看');
Opera也有个错误控制台,可惜不能用console.log来显示东东,不过也有打印的接口: opera.postError,但它打出的的图标却不是错误的图标,它的真名应该叫postWarn,throw打出来的图标才是错误的图标,它才是真正的postError,算了,凑和着用吧。如果在Opera下做开发推荐使用Opera Dragonfly。
还有IE呢?嗯,介于我的系统没有IE,飘过。挖哈哈。
其实大家可以自己写个Console,除了可以把东东打印到浏览器的错误控制台上,还可以把信息打印到服务器上,在自己调试环境下没问题不代表在任何情况下都会没问题。


共有 10 条评论
IE要用Companion.JS
http://www.my-debugbar.com/wiki/CompanionJS/HomePage
IE有Companion.JS,可以定位错误。飘过。
抢地盘最重要.
好烂一片文啊. 哇哈哈.
的确有那么点烂
哈哈,aoao厉害,这文章其实对调试非常有意义的
用opera.postError会不会导致代码在其他浏览器下运行出错呢?
@liuzhongshu 会的。可以先判断一下是否是opera
aoao 你又欺负我家小IE了罢 真不听话!
有个东西叫log4js
http://log4js.sourceforge.net/
可是调试js的 ff等可以打在控制台里 ie可以打在新标签页或新窗口里