當你寫程序的時候很有可能出現(xiàn)錯誤,這在腳本中被稱為一個bug。
發(fā)現(xiàn)和修復 bug 的過程叫做調(diào)試,是一個正常的開發(fā)過程的一部分。本節(jié)討論的工具和技術(shù),可以幫助您進行任務調(diào)試。
跟蹤錯誤的最基本的方法是在您的瀏覽器中打開錯誤信息。默認情況下,當一個錯誤發(fā)生在頁面,Internet Explorer 在狀態(tài)欄顯示錯誤圖標:
雙擊這個圖標將您帶到一個對話框,這個對話框?qū)@示發(fā)生的特定的錯誤信息。
因為這個圖標很容易忽視,當發(fā)生錯誤時,Internet Explorer 提供了選項自動顯示錯誤對話框。
要啟用這個選項,選擇 Tools --> Internet Options --> Advanced tab。最后通過檢查顯示一個關于每一個腳本錯誤框的通知,選項如下所示:
火狐 Netscape 和 Mozilla 等瀏覽器將錯誤消息發(fā)送到一個叫做 JavaScript 控制臺或錯誤控制臺的特殊窗口。查看控制臺,選擇 Tools-->Error Consol or Web Development。
不幸的是,因為這些瀏覽器在一個錯誤發(fā)生時,沒有給出視覺的標示,你必須保持打開控制臺,才能看您的腳本執(zhí)行的錯誤。
錯誤通知,出現(xiàn)在控制臺或通過 IE 瀏覽器對話框里的錯誤是語法和運行時錯誤的結(jié)果。這些錯誤通知會顯示錯誤所在的行號當錯誤發(fā)生時。
如果您使用的是 Firefox瀏覽器,那么你可以點擊在錯誤控制臺腳本中可以獲得的錯誤從而到達有錯誤的那一行。
有多種方法來調(diào)試 JavaScript
檢查您的 JavaScript 代碼出現(xiàn)的奇怪的錯誤的一種方法是通過程序來運行它,檢查它以確保它是有效的。這是官方語言的語法規(guī)則。這些程序被稱為驗證解析器,也可以簡稱為驗證器,通常是存在于商業(yè)HTML和JavaScript編輯器。
最方便的 JavaScript 驗證器是 Douglas Crockford's JavaScript Lint,Douglas Crockford's JavaScript Lint 可以免費在線使用。
簡單地訪問這個網(wǎng)頁,將 JavaScript 代碼(只有 JavaScript )粘貼到文本區(qū)域,并單擊 jslint 按鈕。這個程序?qū)⑼ㄟ^您的 JavaScript 代碼解析,確保任何變量和函數(shù)定義遵循正確的語法。它還將檢查 JavaScript 語句,比如 if 和 whil e語句,以確保他們也遵循正確的格式
您可以在你的程序中使用 alert() 或 document . write() 方法去調(diào)試你的代碼。例如,你應該這樣寫:
var debugging = true;
var whichImage = "widget";
if( debugging )
alert( "Calls swapImage() with argument: " + whichImage );
var swapStatus = swapImage( whichImage );
if( debugging )
alert( "Exits swapImage() with swapStatus=" + swapStatus );
當他們出現(xiàn)的時候,通過檢測程序內(nèi)容和alert()s的命令,你可以非常容易的確定你的程序是否有錯誤。
調(diào)試器是一個應用程序,該應用程序確保各種各樣的腳本在程序員的控制下執(zhí)行。腳本調(diào)試器通過一個界面提供細粒度的控制的狀態(tài),允許您檢查和設置值以及控制流執(zhí)行。
一旦一個腳本被加載到一個調(diào)試器,它可以每次運行一行或指示停止在某個斷點。一旦停止執(zhí)行,程序員可以檢查腳本和它的狀態(tài)變量,以確定是否有地方出了問題。你也可以觀察變量的變化值。
最新版本的 Mozilla JavaScript 調(diào)試器(代號為完 Venkman )Mozilla 和 Netscape 瀏覽器可以下載http://www.hacksrus.com/~ginda/venkman
這里有幾個技巧,您可以使用在你的腳本中用于減少錯誤的數(shù)量,同時使調(diào)試過程更容易一些。
更多建議: