已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
JS 錯誤處理與調(diào)試總結(jié)在Web開發(fā)過程中,編寫JavaScript程序時或多或少會遇到各種各樣的錯誤,有語法錯誤,邏輯錯誤。如果是一小段代碼,可以通過仔細(xì)檢查來排除錯誤,但如果程序稍微復(fù)雜點(diǎn),調(diào)試JS便成為一個令Web開發(fā)者很頭痛的問題。下面總結(jié)一下JS錯誤處理與調(diào)試的方法方法1:用alert() 和document.write()方法監(jiān)視變量值。alert()在彈出對話框顯示變量值的同時,會停止代碼的繼續(xù)運(yùn)行,直到用戶單擊“確定”按鈕,而document.writer()則在輸出值后繼續(xù)運(yùn)行代碼。調(diào)試JS時可以根據(jù)具體情況來選擇這種方法。例如下面代碼:將數(shù)組a中以1開頭的數(shù)據(jù)添加到數(shù)組b中 無標(biāo)題頁 var a=123,456,789,111; function AlertMessage() var b=new Array(1111); for(var i=0;ia.length;i+) if(ai.indexOf(1)!=0) alert(ai); b.push(ai); 如果加入的值比較多,則可以使用document.writer()方法,避免反復(fù)點(diǎn)擊確定按鈕。方法2:用onerror事件找到錯誤: 當(dāng)頁面出現(xiàn)異常時,error事件會在window對象上觸發(fā),它能夠在一定程序上告訴開發(fā)者出現(xiàn)了錯誤,并幫助開發(fā)者找到錯誤所在,如下例: 無標(biāo)題頁 window.onerror=function() alert(不好意思,出錯了!); 代碼運(yùn)行body標(biāo)記的onload事件時調(diào)用了一個不存在的函數(shù)NonExist(),產(chǎn)生了錯誤,如下圖:同時,瀏覽器本身的代碼調(diào)試錯誤也出現(xiàn)了:要避免瀏覽器自己的錯誤提示很簡單,只需要要onerror事件的處理函數(shù)最后返回ture便可,代碼如下: 無標(biāo)題頁 window.onerror=function() alert(不好意思,出錯了!); return true;/屏蔽系統(tǒng)事件 但這樣處理對于解決錯誤并沒有任何的幫助。其實(shí)onerror還提供了3個參數(shù)來確定錯誤的性質(zhì),代碼: 無標(biāo)題頁 window.onerror=function(message,url,line) alert(不好意思,出錯了:n錯誤提示:+message+nUrl:+url+n行號:+line); return true;/屏蔽系統(tǒng)事件 在IE運(yùn)行時的提示:在Firefox運(yùn)行的提示在IE瀏覽器中發(fā)生error事件時,正常的代碼會繼續(xù)執(zhí)行,所有的變量和數(shù)據(jù)都保存下來,并可以通過onerror事件處理函數(shù)訪問。而在Firefox中,正常的代碼執(zhí)行都會結(jié)束,同時所有的錯誤發(fā)生之前的變量和數(shù)據(jù)都會被銷毀.方法3:用try.catch語句找到錯誤 無標(biāo)題頁 try alert(這個是try.catch的例子); alert(hello); catch(exception) var error=; for(var i in exception) error+=i+:+exceptioni+n; alert(error); IE運(yùn)行時的提示:Firefox運(yùn)行時的提示:通過try.catch可以很輕松的找到錯誤的問題,不過可惜的是該語句并不能很好地處理語句錯誤。如下例: 無標(biāo)題頁 try alert(這個是try.catch的例子); catch(exception) var error=; for(var i in exception) error+=i+:+exceptioni+n; alert(error); try語句里面出現(xiàn)了括號不匹配的錯誤,而整個代碼并沒有運(yùn)行catch中的模塊,而是瀏覽器彈出了錯誤提示框,如下圖:方法4:使用Firefox錯誤控制臺調(diào)試:在Firefox菜單欄中選擇“工具”“錯誤控制臺”,便可以打開它,所有瀏覽中運(yùn)行的錯誤,警告,消息都會傳錯誤控制臺,如下:Firefox提示的錯誤信息要比IE全面而且準(zhǔn)確的多。方法5:使用Firefox插件FireBugFirebug是Firefox下的一款開發(fā)類插件,現(xiàn)屬于Firefox的五星級強(qiáng)力推薦插件之一。它集HTML查看和編輯、Javascript控制臺、網(wǎng)絡(luò)狀況監(jiān)視器于一體,是開發(fā)JavaScript、CSS、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士軍刀,從各個不同的角度剖析Web頁面內(nèi)部的細(xì)節(jié)層面,給Web開發(fā)者帶來很大的便利。具體如何安裝使用FireBug可參考這篇文章:/share/detail/15314208方法6:使用Miscrosoft Script Debugger調(diào)試:在IE菜單欄中打開“工具”“Internet選項(xiàng)“,選擇”高級“,將”禁用腳本調(diào)試“復(fù)選框的勾去掉。具體如果使用就不介紹了。方法6:使用IE下的JS調(diào)試工具companion.js一款像firefox中的firedebug工具類似的一個工具包,它的特點(diǎn)就是可以有好的提示錯誤,并且可以在IE瀏覽器下方出現(xiàn)控制臺輸出.方便及時調(diào)試。具體可參考這篇文章:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年秋季學(xué)期學(xué)?!皩W(xué)生滿意度調(diào)查”結(jié)果分析報告:傾聽心聲改進(jìn)工作
- 經(jīng)濟(jì)事務(wù)守信承諾書6篇范文
- 營銷策劃執(zhí)行手冊
- 動物保護(hù)倡議的背后故事抒情作文14篇范文
- 企業(yè)稅務(wù)遵從規(guī)范承諾書范文4篇
- 農(nóng)村畜牧養(yǎng)殖業(yè)產(chǎn)銷對接協(xié)議
- 工棚坍塌應(yīng)急預(yù)案(3篇)
- 2026四川宜賓市第八中學(xué)校招聘教師3人備考題庫附參考答案詳解(突破訓(xùn)練)
- 2026云南昆明官渡區(qū)上海師范大學(xué)附屬官渡實(shí)驗(yàn)學(xué)校(中學(xué))招聘1人備考題庫有答案詳解
- 2026中煤財(cái)務(wù)有限責(zé)任公司招聘2人備考題庫含答案詳解(培優(yōu)b卷)
- 2026中考英語時文熱點(diǎn):跨學(xué)科融合閱讀 練習(xí)(含解析)
- 《筑牢安全防線 歡度平安寒假》2026年寒假安全教育主題班會課件
- (2025年)吉林事業(yè)單位考試真題附答案
- 《患者身份識別管理標(biāo)準(zhǔn)》測試題及答案
- 2026年微型泵行業(yè)報告
- 設(shè)備雙主人管理辦法
- GJB5714A-2023外購產(chǎn)品質(zhì)量監(jiān)督要求
- 湖北省國土資源研究院-湖北省2025年度城市地價動態(tài)監(jiān)測報告
- 測繪成果保密自查報告
- 丁華野教授:下卷:提示為葉狀腫瘤的形態(tài)學(xué)改變
- WB/T 1143-2024集裝式移動冷庫通用技術(shù)與使用配置要求
評論
0/150
提交評論