放棄console.log,來使用Firefox Debugger吧!

console.log 不是debugger(調試器)。它擅長搞清楚你的JavaScript應用程序在幹什麼,但是,它僅僅只能輸出少量的信息。如果你的代碼很複雜,你需要一個恰當的調試器。這就是爲什麼我們在Firefox DevTools Playground(Firebox開發工具面板)中增加了一個全新的有關調試的部分。我們已經構建了四個的基本課程,課程的主要內容是使用Firefox調試器來檢查和修復一個簡單的JavaScript待辦事項應用程序(to-do app)。

介紹調試器面板

go beyond console.log

這些課程是完全免費的,而且可以從Github上下載待辦事項應用程序代碼.

這些課程對我們來說是一種新的形式,我們非常高興地將它們帶給您。我們一直在尋找新的方法來幫助開發者學習東西,改善日常工作流程。如果你有一個想法,請讓我們知道。我們將在未來幾個月內擴展開發工具面板,而且,我們很樂意聽取像你這樣的開發者的想法或者意見。

如果你還不是很熟悉Firefox調試器,請看一下MDN上面的調試器文檔,還有這個快速入門視頻:

入門視頻

現在讓我們從新的調試器面板中看一個教訓。曾經使用 console.log 來查找變量的值?現在使用調試器,有一個更容易更精確的方法來查找變量的值。

使用調試器來查找一個變量的值

使用Firefox調試器比使用 console.log 更容易找到變量。下面介紹它是如何工作的:

讓我們一起看一個簡單的待辦事項應用程序。在新標籤頁打開to-do應用程序

這個應用程序有一個 addTodo 函數,它將獲取輸入表單的值,創建一個對象,然後將該對象添加到任務數組上。讓我們通過添加一個新的任務來測試輸出。你可能希望將這個新任務添加到列表中,但你會看到 [object HTMLInputElement]

出現問題啦,我們需要調試代碼。也許你會在整個函數中添加 console.log,來定位代碼哪裏出現問題啦。這個方法可能看起來如下代碼所示:

const addTodo = e => {
 e.preventDefault();
 const title = document.querySelector(".todo__input");
 console.log('title is: ', title);
 const todo = { title };
 console.log('todo is: ', todo');

items.push(todo);
 saveList();
 console.log(‘The updated to-do list is: ‘, items);
 document.querySelector(".todo__add").reset();
 };

這個可以工作,但是看起來很麻煩而且尷尬。當調試完成之後,我們不得不記得刪除這些代碼。這裏有一個更好的方法,就是使用調試器的斷點(breakpoint)功能。

學習更多的調試器面板信息

調試器面板介紹了使用Firefox調試器的基本功能:檢查調用堆棧,設置條件斷點等等。我們知道使用調試器(調試JavaScript)有一個陡峭的學習曲線,所以我們開發了一個易於理解的簡單的待辦事項應用程序。可以在你的瀏覽器中正常運行。你可以從Github上下載這個應用程序的代碼

發佈了16 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章