1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          調試js(Javascript調試技巧有哪些)

          來源:互聯網轉載 時間:2024-05-06 01:01:01

          1. 不要使用alert

          首先,alert只能打印出字符串,如果打印的對象不是String,則會調用toString()方法將該對象轉成字符串(比如轉成[object Object]這種),所以除非你打印String類型的對象,其他什么信息都獲取不到。其次,alert會阻塞UI和javascript的執行,必須點擊'OK'按鈕才能繼續,非常低效。所以,喜歡使用alert的同學可以改改這個習慣了。

          2. 學會使用console.log

          console.log誰都會用,但是很多同學只知道最簡單的console.log(x)這樣打印一個對象,當你的代碼里面console.log多了之后,會很難將某條打印結果和代碼對應,所以我們可以給打印信息加上一個標簽便于區分:

          letx=1;console.log('aaaaaaaa',x);

          得到:

          標簽不一定要有明確的含義,視覺效果顯著就可以了,當然有明確意義更好。

          事實上,console.log可以接收任意多的參數,***將這些對象拼接輸出,比如:

          如果打印信息過多,不容易找到目標信息的話,可以在控制臺中進行過濾:

          注意點

          在使用console.log打印一個引用類型(比如數組和自定義對象)的對象的時候,輸出結果可能并不是執行console.log方法那個時間點的值。舉個例子:

          可以發現兩個console.log輸出的結果展開后都是[1, 2, 3, 4],因為數組是引用類型,所以在展開后獲取到的都是數組***的狀態。我們可以使用JSON.parse(JSON.stringify(...))來解決這個問題:

          3. 學會使用console.dir

          我們有時候想看看一個DOM對象里面到底有什么屬性和方法,但是常規的console.log打印出來的只是HTML標簽,就像這樣:

          和直接審查元素沒有什么區別。

          如果我們想看到DOM對象作為JavaScript對象的結構可以使用console.dir,比如:

          事實上,console.dir可以打印出任何JavaScript對象的屬性列表,比如打印一個方法:

          4. 學會使用console.table

          我們經常會遇到這樣的場景:獲取到一個用戶列表,每個用戶有很多屬性,但是我們只想查看其中的某些屬性,在用console.log打印出來的時候需要把每個用戶對象展開一個個查看,非常麻煩。而console.table***的解決這個問題,比如我只想獲取到下列用戶的id和坐標:

          console.log打印結果:

          console.table打印結果:

          非常的準確和快速!

          5. 學會使用console.time

          有時候我們想知道一段代碼的性能或者一個異步方法需要運行多久,這時候需要用到定時器,JavaScript提供了現成的console.time方法,例如:

          6. 使用debugger打斷點

          有時候我們需要打斷點進行單步調試,一般會選擇在瀏覽器控制臺直接打斷點,但這樣還需要先去Sources里面找到源碼,然后再找到需要打斷點的那行代碼,比較費時間。使用debugger關鍵詞,我們可以直接在源碼中定義斷點,方便很多,比如:

          7. 查到源碼文件

          有時候我們想在控制臺的Sources中查找某個js源文件,要把文件夾逐一點開找,非常麻煩。其實Chrome提供了文件的搜索功能,只不過大部分時候我們給忽略了。。

          只要按Command + P(windows的快捷鍵請自行查看)就能彈出搜索框搜索你想要找的文件啦:

          8. 壓縮JS文件的閱讀

          有時候我們需要在Sources中閱讀一段js代碼,但是發現它被壓縮了,Chrome也提供了和方便的格式化工具,讓代碼變得重新可讀:

          點完之后變成這樣:

          看完上述內容,你們對Javascript調試技巧有哪些有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注本站行業資訊頻道,感謝大家的支持。

          標簽:調試js-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          現在已經很少有人使用語音信箱了,但是語音信箱其實也是有很大的幫助的,尤其是當我們無法接聽電話的時候,那么,語音信箱怎么設置?開啟語音信箱收費嗎?語音信箱怎么開通使用?一起來看看吧!語音信箱怎么設置?1、首先我們要去營業廳去開通語音信箱功能;2、在手機上設置呼叫轉移,并將呼叫轉移的號碼設為語音信箱號碼。呼叫轉移的設置方法請參見本頻道“呼叫轉移”的介紹。注1:您可以根據需要選擇...

          重磅消息,五大行齊發公告,加快金融投放,支持實體經濟,一時間引起大家的高度關注。大家比較好奇的是,實體經濟指的是什么?電商屬于實體經濟嗎?實體經濟怎么提高?具體詳情跟小編一起去看看吧。實體經濟是指國家商品價值生產出來的總量。包括文化產業,建筑業,商業,交通信息業,工業,農業等各大行業,是人類社會生存的基礎之一,所以各大國家都需要更看重實體經濟。也包括教育、文化、知識、信息、藝術、體育等精神產品的生...

          (資料圖)隨著社會越來越發達,大家都選擇在網絡上汲取相關知識內容,比如刺客信條3劇情簡介,為了更好的解答大家的問題,小編也是翻閱整理了相應內容,下面就一起來看一下吧!《刺客信條3》是法國育碧公司推出的3D動作冒險系列游戲的正統第3代作品?!洞炭托艞l3》的故事背景設定在18世紀中后期的美洲大陸。玩家將扮演名為康納的刺客,在獨立戰爭時期的美國各地展開冒險,并將親歷革命時期的各類重要事件。本作采用了新版...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>