關於js種console的使用。


 

作為一個新人,我在調試js的時候,比較習慣用alert(),把想查看的值,以彈窗的形式顯示出來,如下圖:

這段代碼的意思是想將id為testtx的控件的value值從原來的123變為changetx。

這段代碼運行的結果為

這個時候 可能就會想到function 是否被調用的問題,我之前可能就會這樣調試代碼:

會通過一堆 彈窗去查找錯誤的語句。

這段代碼執行之后就是 只彈出了1,如下圖:

發現錯誤語句是 var obj = document.getElementById("testtx");

然后思考為什么會錯。

錯誤的原因是由於 頁面是從上到下加載的,當執行到 var obj = document.getElementById("testtx"); 這條語句的時候,頁面上還沒有這個id為testtx的控件。

所以無法獲取控件,也就不能改變它的屬性值。

一般有兩種解決辦法:

第一:改變js標簽的位置,如圖:

運行結果 如圖:

第二:在js標簽中加如defer屬性,如圖:

 

 運行結果為:

並不建議使用第二種方法,因為defer這個屬性對於瀏覽器的限制很嚴重,只支持部分ie瀏覽器。

以下是W3C關於defer的定義和用法。

============================================================我是分隔符===============================================================

 

 

 言歸正傳,上面是使用alert()去發現問題點。下面介紹 使用console 發現問題點:

這是網上列舉的一些console的事件:

  • console.log
  • console.info
  • console.error
  • console.warn
  • console.debug
  • console.dirxml
  • console.group和console.groupEnd
  • console.assert
  • console.count
  • console.dir
  • console.time和console.timeEnd
  • console.profile和console.profileEnd
  • console.timeLine和console.timeLineEnd
  • console.trace

 對於一個JAVA開發工程師,我覺得我們對於console的了解不需要像前端工程師那么多。可以通過使用console,看到我們想要的數據就可以了。

我覺得對於JAVA開發工程師比較常用的 就是console.logconsole.error

舉個例子,下面這段代碼:

在火狐瀏覽器中如何查看console呢?

點擊F12,打開開發者工具欄,然后點控制台。如下圖:

在谷歌瀏覽器中如何查看console呢?

同樣,點擊F12,打開開發者工具,然后點擊Console。如下圖:

 

 

 再舉一個console.log和console.error的區別:

這段代碼 運行結果為:

 

 

總結:

   個人比較推薦使用console去調試js,因為 如果數據量很大,可以把你想看的數據 都記錄在控制台上,如果使用alert()彈窗的形式,點擊確定后,就沒有了。

  還有一個原因是,頁面加載是從上到下去加載的,js是單線程。當程序執行到alert的時候,頁面會彈窗,如果你不點擊,這個alert后面的內容是不被加載進來的。

   如果你的頁面中含有ajax,這樣就容易產生一個本不該存在的時間差,可能會導致頁面無法正常顯示。所以更推薦使用console。

 

  第一次寫,不知道 寫什么。希望越來越好。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM