JavaScript代碼調試有哪些

這篇文章將為大家詳細講解有關JavaScript代碼調試有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供龍泉驛網站建設、龍泉驛做網站、龍泉驛網站設計、龍泉驛網站制作等企業(yè)網站建設、網頁設計與制作、龍泉驛企業(yè)網站模板建站服務,十年龍泉驛做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

1.alert()

通??梢允褂镁婵騺硖崾咀兞啃畔?。

alert(document.body.innerHTML);

當警告框彈出時,用戶將需要單擊“確定”來繼續(xù)。

2.html標簽內使用document.write()

<div id="demo">    <script>        var arr=[1,2,3,4,5]       document.write(arr[2] + ' ') //3    </script></div>

需要注意的是是,以下寫法會替換整個頁面的內容:

<button type="button" onclick="document.write(5 + 6)">試一試</button>

即使是函數(shù)調用也是如此。

3.innerHTML()

document.getElementById("demo").innerHTML =""

<h2>JavaScript Array.filter()</h2><p>使用通過測試的所有數(shù)組元素創(chuàng)建一個新數(shù)組。</p><p id="demo"></p> //45,25<script>    var numbers = [45, 4, 9, 16, 25];    var over18 = numbers.filter(myFunction);    document.getElementById("demo").innerHTML = over18;    function myFunction(value, index, array) {        return value > 18;}</script>

4.console()

JS的運行環(huán)境是瀏覽器,由瀏覽器引擎解釋執(zhí)行JS代碼,一般來說,瀏覽器也提供調試器,如chrome按F12即可調出高試器:

<!DOCTYPE html><html><body><h5>我的第一張網頁</h5><p>使用F12在瀏覽器(Chrome、IE、Firefox)中激活調試,然后在調試器菜單中選擇“控制臺”。</p>    <script>        a = 5;        b = 6;        c = a + b;        console.log(c);    </script></body></html>

如果您的瀏覽器支持調試,那么您可以使用 console.log() 在調試窗口中顯示 JavaScript 的值:

JavaScript代碼調試有哪些

內置的調試器可打開或關閉,強制將錯誤報告給用戶。

通過調試器,您也可以設置斷點(代碼執(zhí)行被中斷的位置),并在代碼執(zhí)行時檢查變量。

5.try catch捕獲錯誤

<p id="demo"></p><script>try {  adddlert("歡迎您,親愛的用戶!");}catch(err) {  demo.innerHTML = err.message; //adddlert is not defined}</script>

JavaScript 實際上會創(chuàng)建帶有兩個屬性的 Error 對象:name 和 message。

name 設置或返回錯誤名。

message 設置或返回錯誤消息(一條字符串)。

6.debugger

debugger停止執(zhí)行 JavaScript,并調用調試函數(shù)(如果可用)。

JavaScript代碼調試有哪些

7.注釋法或增量法

可以注釋掉一些可疑代碼來確定錯誤發(fā)生點。

或者考慮逐步增加代碼的方法,逐步驗證,以避免錯誤。

8.一些常見的 JavaScript 錯誤。

8.1 意外使用賦值運算符

如果程序員在 if 語句中意外使用賦值運算符(=)而不是比較運算符(===),JavaScript 程序可能會產生一些無法預料的結果。

8.2 令人困惑的加法和級聯(lián)

加法用于加數(shù)值。

級聯(lián)(Concatenation)用于加字符串。

在 JavaScript 中,這兩種運算均使用相同的 + 運算符。

正因如此,將數(shù)字作為數(shù)值相加,與將數(shù)字作為字符串相加,將產生不同的結果:

var x = 10 + 5;          // x 中的結果是 15var x = 10 + "5";         // x 中的結果是 "105"

而加法以外的其它算法運算符可以將字符串進行自動類型轉換。

10-"5" // 5

8.3 令人誤解的浮點數(shù)

JavaScript 中的數(shù)字均保存為 64 位的浮點數(shù)(Floats),符合IEEE754的標準。

所有編程語言,包括 JavaScript,都存在處理浮點值的困難:

var x = 0.1;var y = 0.2;var z = x + y             // z=0.30000000000000004

8.4 錯位的分號

因為一個錯誤的分號,此代碼塊無論 x 的值如何都會執(zhí)行:

if (x == 19);{     // code block}

在一行的結尾自動關閉語句是默認的 JavaScript 行為。

在 JavaScript 中,用分號來關閉(結束)語句是可選的。

8.5 對象使用命名索引

在 JavaScript 中,數(shù)組使用數(shù)字索引。

在 JavaScript 中,對象使用命名索引。

如果您使用命名索引,那么在訪問數(shù)組時,JavaScript 會將數(shù)組重新定義為標準對象。

<p id="demo"></p><script>var person = [];person["firstName"] = "Bill";person["lastName"] = "Gates";person["age"] = 46;var x = person.length;         // person.length 將返回 0var y = person[0];              // person[0] 將返回 undefinedy=person["age"]; //oky=person.age;//okdocument.getElementById("demo").innerHTML = y</script>

8.6 Undefined 不是 Null

Undefined 的類型是 Undefined,Null的類型是Object。

JavaScript 對象、變量、屬性和方法可以是未定義的。

此外,空的 JavaScript 對象的值可以為 null。

在測試非 null 之前,必須先測試未定義:

if (typeof myObj !== "undefined" && myObj !== null)

8.7 JS沒有塊作用域(與C語言不同)

在 ES2015 之前,JavaScript 只有兩種類型的作用域:全局作用域和函數(shù)作用域。

<!DOCTYPE html><html><body><h3>JavaScript</h3><p>JavaScript不會為每個代碼塊創(chuàng)建新的作用域。</p><p>此代碼將顯示 i(10)的值,即使在 for 循環(huán)塊之外:</p><p id="demo"></p><script>for (var i = 0; i < 10; i++) {  // some code}document.getElementById("demo").innerHTML = i; //10</script></body></html>

ES2015 引入了兩個重要的 JavaScript 新關鍵詞:let 和 const。

這兩個關鍵字在 JavaScript 中提供了塊作用域(Block Scope)變量(和常量)。

for (let i = 0; i < 10; i++) {  // some code}document.getElementById("demo").innerHTML = i; //不能訪問

關于JavaScript代碼調試有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網站欄目:JavaScript代碼調試有哪些
文章位置:http://muchs.cn/article32/jcposc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站內鏈、ChatGPT、面包屑導航定制開發(fā)、電子商務、品牌網站制作

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網站建設