IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Debugging JavaScript:throw与console

样式之美 2010-04-07 09:08:41 累计浏览 3,261 次
本机暂存

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

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. JQuery实现Excel表格呈现 (累计阅读 48,349)
  2. Fix Bug的五个阶段 (累计阅读 42,974)
  3. 深入理解Javascript之执行上下文(Execution Context) (累计阅读 18,404)
  4. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  5. 图片动态局部毛玻璃模糊效果的实现 (累计阅读 14,849)
  6. 调试工具之GDB (累计阅读 14,831)
  7. 天朝第二代身份证号码的验证机制 (累计阅读 14,762)
  8. HTML 5 的data-* 自定义属性 (累计阅读 14,349)
  9. 分享一个JQUERY颜色选择插件 (累计阅读 14,223)
  10. 什么是全栈工程师? (累计阅读 14,038)