寫在最開頭:其實我以前就考慮要不要寫這個東西,因為這個東西確實不難,但是為什麼會有這麼多人問,他們問的不是怎麼用控制台,而是不知道控制台能乾嘛,他們也知道有console.log 之類的東西,但他們不知道為什麼要用這麼長的字串代替alert 輸出資訊。在他們眼裡 alert 足以。好吧,我承認小小的吐槽了下,不過這個系列我只打算介紹下調試的基本知識,不會涉及太深,因為深入的東西結合js知識,如果你js沒到一個境界,我就算教你調試bug,破解一些插件之類的,你根本不知道我在做什麼。我的目的只是讓你認識控制台,讓你入門調試,之後的路還得靠你們自己走。
當然大俠請飄過,或是吐槽一下也行。 。
js調試系列目錄:
其實做web開發的都知道這東西,不論是前端還是後台,但是很多人只停留在html查看和css修改上,完全沒有把控制台利用起來。
說不定有些剛入門的還不知道有這東西。 。
這東西的資料網上一抓一大把,但是都沒有講調試方面的,只是介紹基本的怎麼用而已。 。
不論是 chrome firefox ie(8以上版本) 還是 360急速瀏覽器 搜狗瀏覽器 等等,只要按 F12 就能開啟控制台。
我們的文章以 chrome 為例講解,不為什麼,因為我喜歡 chrome 而已。 。蘿蔔白菜各有所愛。 。
ps: ff 以前都是firebug的天下,現在原生的也非常不錯了。
現在我們按一下 F12 開啟控制台,點選 Console 這一項。
可以看到我的頭像和幾行文字,不過下面還有幾行東西,我們暫時先忽略,以後會講解的。
其實對於這 F12 而言,最確切的叫法是開發人員工具,Console 這一項才是控制台。
PS:做為基礎教程,我只介紹 Console 和 Sources 方面的調試,其他功能自己去了解吧。 。
點選右鍵的 Clear console 選單 或 輸入 clear() 然後按回車即可清空控制台內容。
我們進行第一步用 console.log 輸出訊息吧。
分別輸入 console.log("hehe..") 和 console.log("hehe..", "haha..") 然後按回車,可以在控制台看到輸出結果。
其實就是輸出訊息而,非常簡單,用他代替 alert 和 document.write 調試,你的工作會變的非常輕鬆的。
例如調試一個循環這部分的程式碼,可是數組裡卻有幾十個甚至上百個元素,alert 的話你會點瘋掉的,
document.write 也不是不行,但對於物件輸出,你只能看到 [object Object] 這樣的東西。
這是很多新人朋友遇到的真實問題。
如果用 console.log 取代 alert document.write 輸出物件訊息,可以在控制台展開這物件查看具體訊息。
例如:
var arr = [{name: "尼玛", age: 22}, {name: "尼美", age: 20}]; for (var i=0; i<arr.length; i++) { console.log(arr[i]); }
可以直接看到物件訊息,而不會顯示 [object Object] 令我們一頭霧水。
是不是突然覺得 console.log 屌爆了?
其實這只是他的冰山一角而已,我會盡量把他的一些優勢都展現給你們看。
繼續剛才的步驟,現在我們直接輸入 arr 然後回車。
是不是更吊了,現在可以直接點選 Object 展開這個陣列內的物件來查看了,連循環輸出都省了。
這就是控制台的魅力,而且這只是他最基本的功能而已。
我們先來認識下 console 物件下還有那些方法供我們使用吧。
輸入 console 然後回車,展開這個對象,
可以看一些深色和淺色的東西,深色的就是我們可以直接調用的方法了,淺色的表示默認屬性或方法,展示無需關心,以後有機會再說。
其實常用的只有 log dir 而已,其他真心很少用,到高階調試才會用上。
group,table 之類的輔助性質,可用可不用,看你喜好了。我不太喜歡用。
我們走一步看一步吧,反正先從 log dir 說起,大部分的調試就靠他們了。
PS:其實應該給你們官方文件的,可是最近谷歌打不開,所以自行百度查看各個方法的功能吧。
找到個中文版,還不錯,各位看先《console對象》。
來幾個課後練習:(先打開百度,然後打開控制台)
1 在控制台查看 ID 為 kw1 的元素資訊
2 然後用 console.dir 方法查看 kw1 元素的資訊