欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript代碼調(diào)試之console.log 用法圖文詳解

 更新時間:2016年09月30日 21:54:42   投稿:mdxy-dxy  
對于開始學(xué)js的朋友可能不知道為什么用console.log,頁面中也看不到信息,對于這個console.log腳本之家小編特整理與介紹一下,方便需要的朋友

大家都有用過各種類型的瀏覽器,每種瀏覽器都有自己的特色,本人拙見,在我用過的瀏覽器當(dāng)中,我是最喜歡Chrome的,因為它對于調(diào)試腳本及前端設(shè)計調(diào)試都有它比其它瀏覽器有過之而無不及的地方??赡艽蠹覍onsole.log會有一定的了解,心里難免會想調(diào)試的時候用alert不就行了,干嘛還要用console.log這么一長串的字符串來替代alert輸出信息呢,下面我就介紹一些調(diào)試的入門技巧,讓你愛上console.log

先的簡單介紹一下chrome的控制臺,打開chrome瀏覽器,按f12就可以輕松的打開控制臺

技術(shù)分享

大家可以看到控制臺里面有一首詩還有其它信息,如果想清空控制臺,可以點擊左上角那個技術(shù)分享來清空,當(dāng)然也可以通過在控制臺輸入console.clear()來實現(xiàn)清空控制臺信息。如下圖所示

技術(shù)分享

現(xiàn)在假設(shè)一個場景,如果一個數(shù)組里面有成百上千的元素,但是你想知道每個元素具體的值,這時候想想如果你用alert那將是多慘的一件事情,因為alert阻斷線程運行,你不點擊alert框的確定按鈕下一個alert就不會出現(xiàn)。

下面我們用console.log來替換,感受一下它的魅力。

技術(shù)分享

看了上面這張圖,是不是認(rèn)識到log的強大之處了,下面我們來看看console里面具體提供了哪些方法可以供我們平時調(diào)試時使用。

技術(shù)分享

目前控制臺方法和屬性有:

["$$", "$x", "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear", "getEventListeners", "undebug", "monitor", "unmonitor", "table", "$0", "$1", "$2", "$3", "$4", "$_"]

下面我們來一一介紹一下各個方法主要的用途。

一般情況下我們用來輸入信息的方法主要是用到如下四個

1、console.log 用于輸出普通信息

2、console.info 用于輸出提示性信息

3、console.error用于輸出錯誤信息

4、console.warn用于輸出警示信息

5、console.debug用于輸出調(diào)試信息

用圖來說話

技術(shù)分享

console對象的上面5種方法,都可以使用printf風(fēng)格的占位符。不過,占位符的種類比較少,只支持字符(%s)、整數(shù)(%d或%i)、浮點數(shù)(%f)和對象(%o)四種。

console.log("%d年%d月%d日",2011,3,26);console.log("圓周率是%f",3.1415926);

技術(shù)分享

%o占位符,可以用來查看一個對象內(nèi)部情況

var dog = {};dog.name = "大毛";dog.color = "黃色";console.log("%o", dog);

技術(shù)分享

6、console.dirxml用來顯示網(wǎng)頁的某個節(jié)點(node)所包含的html/xml代碼

<body>
  <table id="mytable">
    <tr>
      <td>A</td>
      <td>A</td>
      <td>A</td>
    </tr>
    <tr>
      <td>bbb</td>
      <td>aaa</td>
      <td>ccc</td>
    </tr>
    <tr>
      <td>111</td>
      <td>333</td>
      <td>222</td>
    </tr>
  </table>
</body>
<script type="text/javascript">
  window.onload = function () {
    var mytable = document.getElementById(‘mytable‘);
    console.dirxml(mytable);
  }
</script>

技術(shù)分享

7、console.group輸出一組信息的開頭

8、console.groupEnd結(jié)束一組輸出信息

看你需求選擇不同的輸出方法來使用,如果上述四個方法再配合group和groupEnd方法來一起使用就可以輸入各種各樣的不同形式的輸出信息。

技術(shù)分享

哈哈,是不是覺得很神奇呀!

9、console.assert對輸入的表達(dá)式進(jìn)行斷言,只有表達(dá)式為false時,才輸出相應(yīng)的信息到控制臺

技術(shù)分享

10、console.count(這個方法非常實用哦)當(dāng)你想統(tǒng)計代碼被執(zhí)行的次數(shù)

技術(shù)分享

11、console.dir(這個方法是我經(jīng)常使用的 可不知道比for in方便了多少)直接將該DOM結(jié)點以DOM樹的結(jié)構(gòu)進(jìn)行輸出,可以詳細(xì)查對象的方法發(fā)展等等

技術(shù)分享

12、console.time 計時開始

13、console.timeEnd 計時結(jié)束(看了下面的圖你瞬間就感受到它的厲害了)

技術(shù)分享

14、console.profileconsole.profileEnd配合一起使用來查看CPU使用相關(guān)信息

技術(shù)分享

在Profiles面板里面查看就可以看到cpu相關(guān)使用信息

技術(shù)分享

15、console.timeLineconsole.timeLineEnd配合一起記錄一段時間軸

16、console.trace 堆棧跟蹤相關(guān)的調(diào)試

上述方法只是我個人理解罷了。如果想查看具體API,可以上官方看看,具體地址為:https://developer.chrome.com/devtools/docs/console-api

控制臺的一些快捷鍵

1、方向鍵盤的上下鍵,大家一用就知曉。比如用上鍵就相當(dāng)于使用上次在控制臺的輸入符號

2、$_命令返回最近一次表達(dá)式執(zhí)行的結(jié)果,功能跟按向上的方向鍵再回車是一樣的

技術(shù)分享

上面的$_需要領(lǐng)悟其奧義才能使用得當(dāng),而$0~$4則代表了最近5個你選擇過的DOM節(jié)點。

什么意思?在頁面右擊選擇審查元素,然后在彈出來的DOM結(jié)點樹上面隨便點選,這些被點過的節(jié)點會被記錄下來,而$0會返回最近一次點選的DOM結(jié)點,以此類推,$1返回的是上上次點選的DOM節(jié)點,最多保存了5個,如果不夠5個,則返回undefined。

技術(shù)分享

3、Chrome 控制臺中原生支持類jQuery的選擇器,也就是說你可以用$加上熟悉的css選擇器來選擇DOM節(jié)點

技術(shù)分享

4、copy通過此命令可以將在控制臺獲取到的內(nèi)容復(fù)制到剪貼板

技術(shù)分享

(哈哈 剛剛從控制臺復(fù)制的body里面的html可以任意粘貼到哪, 比如記事本, 是不是覺得功能很強大)

5、keys和values前者返回傳入對象所有屬性名組成的數(shù)據(jù),后者返回所有屬性值組成的數(shù)組

技術(shù)分享

說到這,不免想起console.table方法了

技術(shù)分享

6、monitor & unmonitor

monitor(function),它接收一個函數(shù)名作為參數(shù),比如function a,每次a被執(zhí)行了,都會在控制臺輸出一條信息,里面包含了函數(shù)的名稱a及執(zhí)行時所傳入的參數(shù)。

而unmonitor(function)便是用來停止這一監(jiān)聽。

技術(shù)分享

看了這張圖,應(yīng)該明白了,也就是說在monitor和unmonitor中間的代碼,執(zhí)行的時候會在控制臺輸出一條信息,里面包含了函數(shù)的名稱a及執(zhí)行時所傳入的參數(shù)。當(dāng)解除監(jiān)視(也就是執(zhí)行unmonitor時)就不再在控制臺輸出信息了。

$ // 簡單理解就是 document.querySelector 而已。$$ // 簡單理解就是 document.querySelectorAll 而已。$_ // 是上一個表達(dá)式的值$0-$4 // 是最近5個Elements面板選中的DOM元素,待會會講。dir // 其實就是 console.dirkeys // 取對象的鍵名, 返回鍵名組成的數(shù)組values // 去對象的值, 返回值組成的數(shù)組

下面看一下console.log的一些技巧

1、重寫console.log 改變輸出文字的樣式

技術(shù)分享

2、利用控制臺輸出圖片

技術(shù)分享

3、指定輸出文字的樣式

技術(shù)分享

最后說一下chrome控制臺一個簡單的操作,如何查看頁面元素,看下圖就知道了

技術(shù)分享

你在控制臺簡單操作一遍就知道了,是不是覺得很簡單!

相關(guān)文章

  • js常用的繼承--組合式繼承

    js常用的繼承--組合式繼承

    本篇文章主要介紹了js常用的繼承--組合式繼承的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • Kotlin學(xué)習(xí)第一步 kotlin語法特性

    Kotlin學(xué)習(xí)第一步 kotlin語法特性

    Kotlin學(xué)習(xí)第一步,從kotlin語法特性開始學(xué)習(xí),包括變量定義、函數(shù)擴(kuò)展、Parcelable序列化、編寫工具類等,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 原生JS實現(xiàn)音樂播放器的示例代碼

    原生JS實現(xiàn)音樂播放器的示例代碼

    這篇文章主要介紹了原生JS實現(xiàn)音樂播放器的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • JS實現(xiàn)排行榜文字向上滾動輪播效果

    JS實現(xiàn)排行榜文字向上滾動輪播效果

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)排行榜文字向上滾動輪播效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • JavaScript如何通過userAgent判斷幾個常用瀏覽器詳解

    JavaScript如何通過userAgent判斷幾個常用瀏覽器詳解

    userAgent 屬性是一個只讀的字符串,聲明了瀏覽器用于 HTTP 請求的用戶代理頭的值,這篇文章主要給大家介紹了關(guān)于JavaScript如何通過userAgent判斷幾個常用瀏覽器的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Bootstrap優(yōu)化站點資源、響應(yīng)式圖片、傳送帶使用詳解3

    Bootstrap優(yōu)化站點資源、響應(yīng)式圖片、傳送帶使用詳解3

    這篇文章主要介紹了Bootstrap優(yōu)化站點資源、完成響應(yīng)式圖片、讓傳送帶支持手勢的相關(guān)知識,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 理解Javascript_12_執(zhí)行模型淺析

    理解Javascript_12_執(zhí)行模型淺析

    大家有沒有想過,一段javascript腳本從載入瀏覽器到顯示執(zhí)行都經(jīng)過了哪些流程,其執(zhí)行次序又是如何。本篇博文將引出'javascript執(zhí)行模型'的概念,并帶領(lǐng)大家理解javascript在執(zhí)行時的處理機(jī)制。
    2010-10-10
  • JavaScript實現(xiàn)Tab標(biāo)簽頁切換的最簡便方式(4種)

    JavaScript實現(xiàn)Tab標(biāo)簽頁切換的最簡便方式(4種)

    這篇文章主要介紹了JavaScript實現(xiàn)Tab標(biāo)簽頁切換的最簡便方式(4種),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • JavaScript實現(xiàn)滑動門效果

    JavaScript實現(xiàn)滑動門效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)滑動門效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 解析Javascript單例模式概念與實例

    解析Javascript單例模式概念與實例

    本文將介紹Javascript模式中較為常見和實用的模式——單例模式,主要分為概念和實例部分。在介紹實例的同時也會對代碼中額外的知識點進(jìn)行講解。需要的朋友可以看下
    2016-12-12

最新評論