?? day5_4.html
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312-80">
<style type="text/css">
<!--
a:link { color: blue; text-decoration: none}
a:visited { color: purple; text-decoration: none}
a:hover { color: #CC0033; text-decoration: underline}
-->
</style>
<title>JavaScript高級教程</title>
</head>
<body topmargin="1" leftmargin="2">
<table border="0" width="591" cellspacing="0">
<tr>
<td bgcolor="#ffff99" width="451">JavaScript高級教程 - 第五課</td>
</tr>
<tr>
<td bgcolor="#FF6600" width="451"><a href="mailto:thau@wired.com">Thau</a></td>
</tr>
</table>
<div align="left">
<table border="0" width="630" cellspacing="0">
<tr>
<td width="458" valign="top" align="left" rowspan="2"><small><small><br>
</small></small><strong>第頁:<font size="3">修正錯誤</font></strong>
<p><font size="3">找到錯誤,有時侯雖然很難,卻只是第一步。然后你必須清除<br>
錯誤。下面是一些在清除錯誤時應該做的一些事:</font></p>
<p><font size="3"><strong>首先拷貝你的程序</strong></font></p>
<blockquote>
<p><font size="3">有些錯誤很難清除。實際上,有時在根除錯誤時,<br>
你會破壞整個程序 - 一個小錯誤使你瘋狂。在開始<br>
調試前保存你的程序是確保錯誤不會利用你的最好<br>
方法。</font></p>
</blockquote>
<p><font size="3"><strong>一次修正一個錯誤</strong></font></p>
<blockquote>
<p><font size="3">如果你知道有好幾個錯誤,應該修正一個,檢驗其<br>
結果,再開始下一個。一次修正許多錯誤而不檢驗<br>
你的工作只會招致更多的錯誤。</font></p>
</blockquote>
<p><strong>警惕迷惑性錯誤</strong></p>
<blockquote>
<p>有時你知道存在一個錯誤,但不真正知道為什么。<br>
假設有一個變量“index”,由于某種原因“index”<br>
總比你期望的小1。你可以做下面兩件事中的一件:<br>
在那兒坐一會兒,解決它為什么變小了,或只是聳<br>
聳肩;在使用“index”之前加1,然后繼續進行。后<br>
一種方法稱為迷惑編程。當你開始思考“究竟是怎<br>
么了 - 為什么index是2而不是3呢?好吧...我現在<br>
先讓它正常工作,以后再修改錯誤。”時,你正在<br>
把一塊護創膏布貼到一處潛在的硬傷上。</p>
<p>迷惑編程可能在短期內有用,但是你可以看到長期<br>
的厄運 - 如果你沒有完全理解你的代碼到可以真正<br>
清除錯誤的程度,那個錯誤將會回來困擾你。它或<br>
者以另一種你不能解決的怪異錯誤的方式回來,或<br>
者當下一個可憐的被詛咒的靈魂讀你的代碼時,他<br>
會發現你的代碼非常難以理解。</p>
</blockquote>
<p><strong>尋找小錯誤</strong></p>
<blockquote>
<p>有時侯,對程序員來說,剪切和粘貼代碼的能力是<br>
一種很壞的事。通常,你會在一個函數中寫一些<br>
JavaScript代碼,然后把它們剪切和粘貼到另一個<br>
函數中。如果第一個函數有問題,那么現在兩個函<br>
數都有問題。我并不是說你不應該剪切和粘貼代碼。<br>
但是錯誤會以某種方式繁殖,如果你發現了一個<br>
錯誤,你就應該尋找與其相似的其它錯誤。(或者<br>
在制作它的若干版本之前確切知道會發生什么。)<br>
變量名拼寫錯誤在一段JavaScript代碼中會突然多<br>
次出現 - 在一個地方把the_name錯拼成teh_name,<br>
你就有機會在其它地方發現這個錯誤。</p>
</blockquote>
<p><strong>如果所有其它的方法都失敗了</strong></p>
<blockquote>
<p>如果你正坐在那兒盯著一個錯誤,并且不能指出是<br>
怎么回事(或者根本沒有發現錯誤,但是因為程序<br>
不能正確運行,你知道存在錯誤),你最好從計算<br>
機前走開。去讀一本書,在角落散散步,或者拿一<br>
杯可口的飲料 - 做些事,任何事,但不要去想程序<br>
或問題。這種技術在某種情況下叫做“醞釀”,效<br>
果非常好。在你稍做休息和放松后,再試著找出<br>
錯誤。你會得到一幅比較清晰的景象。“醞釀”起<br>
作用是因為它使你從思維混亂中解脫出來。如果沿<br>
著一條錯路走太遠,你有時會發現無法轉身。這種<br>
情況下最好開辟一條新路。我知道這會令人發火,<br>
但確實有效。真的!</p>
</blockquote>
<p><strong>如果上面的方法還不成功...</strong></p>
<blockquote>
<p>請求別人的幫助。有時你的思想會形成定式,只有<br>
換一種眼光才能洞察問題之所在。在結構化編程環<br>
境中,程序員們定期地互相復查別人的代碼。這可<br>
以適當地叫做“代碼復查”,不僅可以幫助消除<br>
錯誤,還可以得到更好的代碼。不要怕把你的<br>
JavaScript代碼給別人看,它會使你成為更好的<br>
JavaScript程序員。</p>
</blockquote>
<p><strong>但是消除錯誤的絕對最好的辦法是...</strong></p>
<blockquote>
<p>一開始就創建沒有錯誤的代碼。<a href="day5_5.html">>></a></p>
</blockquote>
<p align="left"><font face="宋體" size="3" color="#000000"><strong>JavaScript高級教程</strong></font><font color="#FF0000" face="宋體" size="3"><br>
</font><font color="#FF3300" size="3">第一頁</font><font size="3"> </font><a href="day5_1.html"><font size="3" face="verdana, arial, geneva, sans-serif">JavaScript</font><font size="3">高級教程</font><font size="3" face="verdana, arial, geneva, sans-serif">-
</font><font size="3">第</font><font size="3" face="verdana, arial, geneva, sans-serif">5</font><font size="3">天</font></a><font size="3">
<br>
</font><font color="#FF3300" size="3">第二頁 </font><font size="3"><a href="day5_2.html">打印變量</a><br>
</font><font color="#FF3300" size="3">第三頁 </font><font size="3"><a href="day5_3.html">一般性程序錯誤</a><br>
</font><font color="#FF3300" size="3">第四頁 </font><font size="3">修正錯誤<br>
</font><font color="#FF3300" size="3">第五頁 </font><font size="3"><a href="day5_5.html">好的編程實踐</a><br>
</font><font color="#FF3300" size="3">第六頁 </font><font size="3"><a href="day5_6.html">按速度優化JavaScript代碼</a><br>
</font><font color="#FF3300" size="3">第七頁 </font><a href="day5_7.html"><font size="3">下面講什么?</font></a></p>
<p align="left">[<a href="day1_1.html">第1課</a>][<a href="day2_1.html">第2課</a>][<a href="day3_1.html">第3課</a>][<a href="day4_1.html">第4課</a>][第5課]</p>
<hr align="left">
<!--webbot bot="Include" U-Include="../../copyright.html" TAG="BODY" startspan -->
<p><font face="verdana, arial, geneva, sans-serif" size="2"><a href="http://phtshop.yeah.net" target="_top">本文根據
網猴 相關文章改編,版權歸原作者所有。</a> </font></p>
<!--webbot bot="Include" endspan i-checksum="63119" --> </td>
</tr>
<tr> </tr>
</table>
</div>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -