我想没多少人敢保证写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,除了可以把东东打印到浏览器的错误控制台上,还可以把信息打印到服务器上,在自己调试环境下没问题不代表在任何情况下都会没问题。