這篇文章將為大家詳細(xì)講解有關(guān)JavaScript代碼調(diào)試有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供龍泉驛網(wǎng)站建設(shè)、龍泉驛做網(wǎng)站、龍泉驛網(wǎng)站設(shè)計、龍泉驛網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、龍泉驛企業(yè)網(wǎng)站模板建站服務(wù),十年龍泉驛做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
通??梢允褂镁婵騺硖崾咀兞啃畔?。
alert(document.body.innerHTML);
當(dāng)警告框彈出時,用戶將需要單擊“確定”來繼續(xù)。
需要注意的是是,以下寫法會替換整個頁面的內(nèi)容:
即使是函數(shù)調(diào)用也是如此。
document.getElementById("demo").innerHTML =""
JavaScript Array.filter()
使用通過測試的所有數(shù)組元素創(chuàng)建一個新數(shù)組。
//45,25
JS的運行環(huán)境是瀏覽器,由瀏覽器引擎解釋執(zhí)行JS代碼,一般來說,瀏覽器也提供調(diào)試器,如chrome按F12即可調(diào)出高試器:
我的第一張網(wǎng)頁
使用F12在瀏覽器(Chrome、IE、Firefox)中激活調(diào)試,然后在調(diào)試器菜單中選擇“控制臺”。
如果您的瀏覽器支持調(diào)試,那么您可以使用 console.log() 在調(diào)試窗口中顯示 JavaScript 的值:
內(nèi)置的調(diào)試器可打開或關(guān)閉,強制將錯誤報告給用戶。
通過調(diào)試器,您也可以設(shè)置斷點(代碼執(zhí)行被中斷的位置),并在代碼執(zhí)行時檢查變量。
JavaScript 實際上會創(chuàng)建帶有兩個屬性的 Error 對象:name 和 message。
name 設(shè)置或返回錯誤名。
message 設(shè)置或返回錯誤消息(一條字符串)。
debugger停止執(zhí)行 JavaScript,并調(diào)用調(diào)試函數(shù)(如果可用)。
可以注釋掉一些可疑代碼來確定錯誤發(fā)生點。
或者考慮逐步增加代碼的方法,逐步驗證,以避免錯誤。
8.1 意外使用賦值運算符
如果程序員在 if 語句中意外使用賦值運算符(=)而不是比較運算符(===),JavaScript 程序可能會產(chǎn)生一些無法預(yù)料的結(jié)果。
8.2 令人困惑的加法和級聯(lián)
加法用于加數(shù)值。
級聯(lián)(Concatenation)用于加字符串。
在 JavaScript 中,這兩種運算均使用相同的 + 運算符。
正因如此,將數(shù)字作為數(shù)值相加,與將數(shù)字作為字符串相加,將產(chǎn)生不同的結(jié)果:
var x = 10 + 5; // x 中的結(jié)果是 15var x = 10 + "5"; // x 中的結(jié)果是 "105"
而加法以外的其它算法運算符可以將字符串進(jìn)行自動類型轉(zhuǎn)換。
10-"5" // 5
8.3 令人誤解的浮點數(shù)
JavaScript 中的數(shù)字均保存為 64 位的浮點數(shù)(Floats),符合IEEE754的標(biāo)準(zhǔn)。
所有編程語言,包括 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}
在一行的結(jié)尾自動關(guān)閉語句是默認(rèn)的 JavaScript 行為。
在 JavaScript 中,用分號來關(guān)閉(結(jié)束)語句是可選的。
8.5 對象使用命名索引
在 JavaScript 中,數(shù)組使用數(shù)字索引。
在 JavaScript 中,對象使用命名索引。
如果您使用命名索引,那么在訪問數(shù)組時,JavaScript 會將數(shù)組重新定義為標(biāo)準(zhǔn)對象。
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ù)作用域。
JavaScript
JavaScript不會為每個代碼塊創(chuàng)建新的作用域。
此代碼將顯示 i(10)的值,即使在 for 循環(huán)塊之外:
ES2015 引入了兩個重要的 JavaScript 新關(guān)鍵詞:let 和 const。
這兩個關(guān)鍵字在 JavaScript 中提供了塊作用域(Block Scope)變量(和常量)。
for (let i = 0; i < 10; i++) { // some code}document.getElementById("demo").innerHTML = i; //不能訪問
關(guān)于JavaScript代碼調(diào)試有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。