1. 程式人生 > 實用技巧 >JavaScript 05 除錯辦法

JavaScript 05 除錯辦法

Javascript的執行和Java不一樣,沒有一個像eclipse這樣的整合開發環境(IDE)。

尤其在剛開始學習的時候,更加推薦直接使用記事本來編寫,而不是依賴於其他的有提示功能的編輯器(Sublime),這樣更加利於暴露自己編寫的javascript程式碼的問題,並糾正和學習。

但是依然存在一個除錯的問題,本知識點只是講解各種除錯的辦法。

步驟1:

alert進行除錯

使用alert(1)進行除錯,這是最開始的時候非常常用的一種手法來進行javascript程式碼除錯,即使今天,也是比較有效的一種方式。
使用alert的思路:

alert(1)


會彈出一個對話方塊,裡面的內容是1。換句話說,如果彈出了1,這個位置以上的程式碼,都是可以執行的。

你不停的把alert(1)向下移動,當移動到某一行之後,就不再彈出,那麼就證明那一行執行有問題。 這樣就把問題的範圍縮小了,就很容易通過肉眼觀察法來定位真正問題所在。

<script>
  x = 10;
  //alert(1);
  document.write("沒有用var宣告的變數x的值:"+x);
  //alert(2);
</script>

步驟2:

使用專業的除錯工具

不同的瀏覽器有不同的除錯辦法,本文以firefox為例來講解如何除錯

步驟3:

下載firefox

下載firefox 49.0,直接解壓就可以使用了。

步驟4:

使用firefox 的除錯功能

這裡準備了一段故意寫錯的javascript程式碼。
點選快捷鍵F12,就會出現console頁面。

console是控制檯的意思,用於輸出一些錯誤和除錯資訊。

注意:雖然這段javascript程式碼有錯誤,但是第一次F12是看不到錯誤的,因為錯誤已經發生了,才打開了F12。 所以打開了F12之後,使用快捷鍵F5重新整理一下當前頁面,就可以看到控制檯報出了錯誤的原因
document.write1 is not a function
這樣定位問題就非常方便了。

這是一段故意寫錯的write方法的javascript程式碼
<script>
  x = 10;
  document.write1(
"這是一段故意寫錯的write方法的javascript程式碼"); </script>

步驟5:

console.log()

類似於alert進行除錯, firebug有一個日誌輸出工具console.log().
不同於alert的缺點( 彈出螢幕,阻擋所有其他操作),console.log() 只會把資訊輸出在console裡,而不會影響使用者的使用。 使用者甚至意識不到console.log()的存在。

<script>
  x = 10;
  console.log("x="+x);
  document.write("沒有用var宣告的變數x的值:"+x);
  console.log("end");
</script>