0
0

Debugging JavaScript:throw与console

loaoao@gmail.com (aoao) 发表于 2008年08月25日 01:32 | Hits: 2176
Tag: Web开发 | console | debug | JavaScript

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

原文链接: http://www.aoao.org.cn/blog/2008/08/debugging-javascript/

0     0

评价列表(0)