Javascript調試腳本的經驗之談第1/2頁
2024-05-06 14:17:01
供稿:網友
編程實際上是一種能隨著時間不斷飛快進步的技術。但是不管變得多么熟練,你仍然要花一些時間調試你的代碼。如果你做過家庭作業,或有過JacaScript編程經驗,你會知道相當多的時間是花在調試上。這很正常 - 這只是編程者必須做的事之一。實際上,按照大量的研究,程序員平均百分之五十的時間花在解決代碼中的錯誤。
關鍵是學會怎樣有效地調試你的程序。我有一些技巧可以幫助你解決程序為什么沒有象應該的那樣運行,或者幫你首先避免寫有很多錯誤的代碼:
1.用不同方式打印出變量
2.注意一般性錯誤
3.編碼之前先想好
--------------------------------------------------------------------------------
如果JavaScript沒能捕獲你的錯誤,你也沒有通過查看代碼發現錯誤,有時打印出變量會對你有所幫助。最簡單的方法是象下面這樣使用一個alert():
// theGreeting gets a name using getName, then presents
// one or two alert boxes depending on what the name is
//function getName()
{
var first_name = prompt("what's your first name?","");
var last_name = prompt("what's your last name?","");
var the_name = first_name + " " + last_name;
alert("in getName, the_name is: " + the_name);
}
-----------------------------找到錯誤--------------------------------------------------
1.一般性程序錯誤
多數錯誤只是無聊的語法錯誤。記住關閉那些引號,大括號和小括號會花費很長時間,不過幸運的是 JavaScript自動錯誤檢測器能捕獲大部分此類錯誤。雖然JavaScript錯誤檢測器隨著日漸復雜的流覽器而不斷完善,但是一些錯誤仍會溜走。下面是一些需要留意的常見錯誤:
2.混淆變量名或函數名
大寫和復數變量和函數名產生的錯誤令人煩惱地經常出現,有時JavaScript錯誤檢測器不能捕獲它們。通過建立和堅持使用一種對變量和函數的命名協定,會大大減少這些麻煩的數量。例如,我全部用小寫字母定義變量,并用下劃線代替空格(my_variable,the_data, an_example_variable),用內置符號表示函數 (addThreeNumbers(), writeError()等)。我避免使用任何復數,因為我總是忘記那些變量是不是復數。
3.偶然地使用了保留字
一些字不能作為變量名,因為它們已經被JavaScript使用。例如,不能定義一個叫 “if”的變量,因為它實際上是JavaScript的一部分 - 如果使用“if”,你會遇到各種麻煩。當你因為使用命名為“if”的變量而變得瘋狂時,一個叫做“document”的變量是很誘人的。不幸的是,“document”是一個JavaScript對象。另一個經常遇到的問題是把變量命名為“name”(窗體元素有“names”屬性)。把變量命名為“name”不會總出問題,只是有時 - 這會更使人迷惑 - 這就是避免使用“name”變量的原因。