用alert()和document.write()方法監(jiān)視變量值
alert()在彈出對話框顯示變量值得同時,會停止代碼的繼續(xù)運行,直到用戶單擊"確定"按鈕,而document.write()則在輸出值之后繼續(xù)運行代碼。
for(var i=0;i<aColors.length;i++)
if(aColors[i].indexOf(oInputField.value)==0)
alert(aColor[i]);
aResult.push(aColors[i]);
為了很好地檢測加入到數(shù)組aResult里的值,往往在if語句中適當?shù)厍度隺lert()語句,
如果加入的值很多,則可以選用document.write()方法,避免反復單擊"確定"按鈕
for(var i=0;i<aColors.length;i++)
if(aColors[i].indexOf(oInputField.value)==0)
document.write(aColors[i]);
aResult.push(aColors[i]);
用onerror事件找到錯誤
理解onerror事件
<html>
<head>
<title>onerror</title>
<script language="javascript">
window.onerror=function(){
alert("出錯啦!");
}
</script>
</head>
<body onload="nonExistent()">
</body>
</html>
用onerror事件找到錯誤
<html>
<head>
<title>onerror</title>
<script language="javascript">
window.onerror=function(){
alert("出錯啦!");
return true; //屏蔽系統(tǒng)事件
}
</script>
</head>
<body onload="nonExistent()">
</body>
</html>
用onerror事件的參數(shù)確認錯誤的性質(zhì)
<html>
<head>
<title>onerror</title>
<script language="javascript">
window.onerror=function(sMessage, sUrl, sLine){
alert("出錯啦:\n" + sMessage + "\nUrl: " + sUrl + "\n行號: " + sLine);
return true; //屏蔽系統(tǒng)事件
}
</script>
</head>
<body onload="nonExistent()">
</body>
</html>
用try...catch語句找到錯誤
該語句首先運行try里面的代碼,如果發(fā)現(xiàn)錯誤則跳轉(zhuǎn)到運行catch()里面的代碼,如果有finally,則無論是否出錯最后都運行其中的代碼。
try{
//代碼
}catch([exception]){
//如果try中代碼有錯,則運行
}[finally{
//最后運行,無論是否出錯
}]
用try...catch語句找到錯誤
實例1:
<html>
<head>
<title>try...catch</title>
<script language="javascript">
try{
alert("this is an example");
alert(fresheggs);
} catch(exception){
var sError="";
for(var i in exception)
sError +=i + ":" + exception[i] + "\n";
alert(sError);
}
</script>
</head>
<body>
</body>
</html>
實例2:
<script type="text/javascript">
//使用異常
//(并不是全部代碼都放到try里邊, 而是有可能產(chǎn)生異常的代碼才放入)
var week="Monday";
var date="2015/6/7";
try{
console.log(week);
console.log(date);
console.log(weather);//ReferenceError: weather is not defined
var arr=new 20(); //TypeError: 20 is not a constructor
//var tom=new eval(); //TypeError: eval is not a constructor
console.log(111);
console.log(222);
}catch(ex){
//ex是一個對象,用于獲得具體錯誤信息
//ex.message 獲得具體錯誤信息
console.log(ex.message);//weather is not defined
}finally{
//無論是否有異常錯誤,此處代碼都給執(zhí)行
console.log('we are studying javascript');
}
</script>
throw 聲明的作用是創(chuàng)建 exception(異?;蝈e誤)。
throw(exception)
exception 可以是字符串、整數(shù)、邏輯值或者對象。
注意:使用小寫字母編寫 throw。使用大寫字母會出錯!
下面的實例的作用是測定變量 x 的值。如果 x 的值大于 10 或者小于 0,錯誤就會被拋出 (throw)。
這個錯誤被 catch 的參數(shù)捕獲后,就會顯示出自定義的出錯信息。
<html>
<body>
<script type="text/javascript">
var x=prompt("Enter a number between 0 and 10:","")
try{
if(x>10)
throw "Err1"
else if(x<0)
throw "Err2"
} catch(er){
if(er=="Err1")
alert("Error! The value is too high")
if(er=="Err2")
alert("Error! The value is too low")
}
</script>
</body>
</html>
使用調(diào)試器
Firefox錯誤控制器調(diào)試
開發(fā)者-調(diào)試器
用venkman調(diào)試
venkman是一款針對Mozilla的腳本調(diào)試器
下載地址:https://addons.mozilla.org/zh-CN/seamonkey/addon/javascript-debugger/versions/
注意:最新版已經(jīng)安裝venkman調(diào)試器
F12:啟動調(diào)試器
用Microsoft Script Debugger調(diào)試
安裝Microsoft Script Debugger插件
Internet選項-高級-禁用腳本測試(Internet Explorer和其他)
下載地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=23992
F12:啟動調(diào)試器
Chome瀏覽器
更多工具-JavaScript控制臺
有深度技術的朋友在使用新版windows10 2004系統(tǒng)電腦的時候打開IE瀏覽器瀏覽網(wǎng)頁時,遇到當前頁面的腳本發(fā)生錯誤的提示,而且不是單是一個網(wǎng)頁會提示,很是煩惱,這是怎么回事呢?該問題應該是由于瀏覽的網(wǎng)站js出錯或網(wǎng)站錯誤的腳本代碼導致的。接下來,隨深度之家小編一起看看Windows10系統(tǒng)使用ie瀏覽器發(fā)生腳本錯誤的解決方法吧!
步驟如下:
1、首先打開此電腦,依次展開:C:\WINDOWS\system32\drivers\etc ;
2、在hosts 文件上單擊右鍵,選擇【打開方式】,選擇【記事本】點擊確定;
3、在末尾添加 127.0.0.1 出錯的網(wǎng)址 如我們?nèi)舸蜷_http://www.xitongcheng.com/Win10Cjb/出錯,那么則輸入:127.0.0.1 www.xitongcheng.com
4、點擊關閉 - 保存;
5、按下win+x呼出超級菜單,點擊【命令提示符(管理員)】;
6、最后在命令提示符中輸入:ipconfig/flushdns 按下回車鍵刷新dns。