<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>样式之美 &#187; debug</title>
	<atom:link href="http://www.aoao.org.cn/blog/tag/debug/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aoao.org.cn</link>
	<description>没落的角落</description>
	<lastBuildDate>Fri, 16 Apr 2010 02:38:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Debugging JavaScript：throw与console</title>
		<link>http://www.aoao.org.cn/blog/2008/08/debugging-javascript/</link>
		<comments>http://www.aoao.org.cn/blog/2008/08/debugging-javascript/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 17:32:32 +0000</pubDate>
		<dc:creator>aoao</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.aoao.org.cn/?p=117</guid>
		<description><![CDATA[我想没多少人敢保证写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.m...]]></description>
			<content:encoded><![CDATA[<p>我想没多少人敢保证写JavaScript能不用调试，那选择用什么方式调试会比较好呢？</p>
<ul>
<li>告别了我最爱的<code>alert("MM")</code></li>
<li>告别了我最爱的<code>document.title="MM"</code></li>
<li>告别了我最爱的<code>window.status="MM"</code></li>
</ul>
<p>大家开始用各种新的方式来看调试信息。。。比如最近sitepoint就发了一篇<a href="http://www.sitepoint.com/blogs/2008/08/22/debugging-javascript-throw-away-your-alerts/">Debugging JavaScript: Throw Away Your Alerts!</a>，大家先去看，看完再回来接着看。</p>
<blockquote cite="http://www.sitepoint.com/blogs/2008/08/22/debugging-javascript-throw-away-your-alerts/">
<pre><code>var err = new Error(); 
err.name = 'My API Input Error'; 
err.message = 'Input must be a number'; 
throw(err);</code></pre>
</blockquote>
<p><code>throw</code>虽然不错，但是我们调试时可能不只能抛错，还可能抛很多奇怪的信息，比如把执行时间、返回结果打出来看，当然，你也可以写不同的<code>err.name</code>来区分。但是，有事没事看到报错也是很不爽的一件事。</p>
<p>写JavaScript的同学应该都有装<a href="http://www.gerfirebug.com" title="Web Development Evolved">Firebug</a>，如果没装赶快装去，装完了再回来看，要是连Firefox都没有就玩<a href="http://getfirebug.com/lite.html">Firebug Lite</a>。</p>
<p>Firebug提供有了个<a href="http://getfirebug.com/console.html" title="Firebug Command Line API">console</a>，你可以用：<code>console.log(object[, object, ...])</code>和若干<code>console.xxx</code>来玩，这样就可以把错误跟警告区分开了，挖哈哈。</p>
<p>同时，console并不是Firebug独有的，你也可以用<code>console.log('嗷嗷又出来忽悠人了！');</code>把信息打到Safari的错误控制台，还可以这样玩：</p>
<ul>
<li><code>console.warn('这个图标很黄');</code></li>
<li><code>console.error('×的图标不好看');</code></li>
</ul>
<p>Opera也有个错误控制台，可惜不能用<code>console.log</code>来显示东东，不过也有打印的接口： <code>opera.postError</code>，但它打出的的图标却不是错误的图标，它的真名应该叫postWarn，<code>throw</code>打出来的图标才是错误的图标，它才是真正的postError，算了，凑和着用吧。如果在Opera下做开发推荐使用<a href="http://www.opera.com/products/dragonfly/" title="开发版的Opera">Opera Dragonfly</a>。</p>
<p>还有IE呢？嗯，介于我的系统没有IE，飘过。挖哈哈。</p>
<p>其实大家可以自己写个Console，除了可以把东东打印到浏览器的错误控制台上，还可以把信息打印到服务器上，在自己调试环境下没问题不代表在任何情况下都会没问题。 </p>
<hr />
<p>推荐本书：<a href="http://www.aoao.org.cn/book/web-standards-design/" title="《Web标准设计》的专题页面">《Web标准设计》</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.aoao.org.cn/blog/2008/08/debugging-javascript/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.843 seconds -->
