使用任何編程語言編寫代碼時,錯誤總會發(fā)生。在沒有調(diào)試器的情況下寫 javascript 是有難度的。
您的代碼中也許包含了語法錯誤,或者邏輯錯誤,這些都難以診斷。
通常,如果 javascript 代碼包含錯誤,也不會發(fā)生任何事情。不會有錯誤消息,并且不會有任何可供查找錯誤的指示信息。
1. javascript 調(diào)試器
查找編程代碼中的錯誤被稱為代碼調(diào)試。
調(diào)試并不簡單。但幸運(yùn)地是,所有現(xiàn)代瀏覽器都有內(nèi)置的調(diào)試器。
內(nèi)置的調(diào)試器可打開或關(guān)閉,強(qiáng)制將錯誤報(bào)告給用戶。
通過調(diào)試器,您也可以設(shè)置斷點(diǎn)(代碼執(zhí)行被中斷的位置),并在代碼執(zhí)行時檢查變量。
通常通過 f12 鍵啟動瀏覽器中的調(diào)試器,然后在調(diào)試器菜單中選擇“控制臺”。
2. console.log() 方法
如果您的瀏覽器支持調(diào)試,那么您可以使用 console.log() 在調(diào)試窗口中顯示 javascript 的值:
范例
my first web page
a = 5; b = 6; c = a + b; console.log(c);
提示:請?jiān)L問我們的 javascript console 參考手冊,獲取更多有關(guān) console.log() 方法的信息。
3. 設(shè)置斷點(diǎn)
在調(diào)試窗口中,您可在 javascript 代碼中設(shè)置斷點(diǎn)。
在每個斷點(diǎn)中,javascript 將停止執(zhí)行,以使您能夠檢查 javascript 的值。
在檢查值之后,您可以恢復(fù)代碼執(zhí)行。
4. debugger 關(guān)鍵詞
debugger 關(guān)鍵詞會停止 javascript 的執(zhí)行,并調(diào)用(如果有)調(diào)試函數(shù)。
這與在調(diào)試器中設(shè)置斷點(diǎn)的功能是一樣的。
如果調(diào)試器不可用,debugger 語句沒有效果。
如果調(diào)試器已打開,此代碼會在執(zhí)行第三行之前停止運(yùn)行。
范例
var x = 15 * 5; debugger; document.getelementbyid("demo").innerhtml = x;
5. 主流瀏覽器的調(diào)試工具
通常,您在瀏覽器中通過 f12 鍵啟用調(diào)試,并在調(diào)試器菜單中選擇“控制臺”。
否則請按照以下步驟:
chrome
- 打開瀏覽器
- 從菜單中選擇工具
- 從工具中選擇開發(fā)者工具
- 最后,選擇控制臺
firefox firebug
- 打開瀏覽器
- 前往網(wǎng)頁:http://www.getfirebug.com
- 根據(jù)如下指令:如何安裝 firebug
internet explorer
- 打開瀏覽器
- 從菜單選擇工具
- 從工具選擇開發(fā)者工具
- 最后,選擇控制臺
opera
- 打開瀏覽器
- 請前往網(wǎng)頁:http://dev.opera.com
- 根據(jù)如下指令:如何安裝 firebug lite
safari develop menu
- 點(diǎn)擊 safari 菜單,偏好設(shè)置,高級
- 選中“在菜單欄中啟用開發(fā)菜單”
- 當(dāng)菜單中出現(xiàn)新選項(xiàng)“開發(fā)”時,選擇“顯示錯誤控制臺”
6. 您知道嗎?
調(diào)試是測試、找到并減少計(jì)算機(jī)程序中 bug(錯誤)的過程。
歷史上首個已知的計(jì)算機(jī) bug 是一只卡在電子器件中的真實(shí)的蟲子(一種昆蟲)。