不管你的技術水平如何,錯誤或異常是應用程序開發者生活的一部分。Web開發的不連貫性留下了許多錯誤能夠發生并確實已經發生的地方。解決的關鍵在于處理任何不可預見的(或可預見的錯誤),來控制用戶的體驗。利用JavaScript,就有多種技術和語言特色可以用來正確地解決任何問題。
事事檢查
在開始之前檢查一切是一個好的編程習慣,也就是說,你應該在利用它們之前,檢查對象、方法調用等的有效性。這樣就避免了與未實例化對象或對不存在的方法調用有關的錯誤。列表A在使用對象(變量和字段)之前會對它們進行檢查。在使用字段對象之前,該腳本保證它們為有效或非空字段。
列表A
<html><head>
<title>JS Test</title>
<script type="text/javascript">
function validate() {
var doc = document.forms[0];
var flag = true;
if (doc != null) {
if (doc.fullName != null) {
if (doc.fullName.value == '') {
flag = false;
}
} else {
flag = false;
}
if (doc.contactNumber != null) {
if (doc.contactNumber.value == '') {
flag = false;
}
} else {
flag = false;
}
if (flag) {
alert('Validation successful, document will be submitted.');
doc.submit();
} else {
alert('Enter values before submitting.');
} }
return 0; }
</script></head>
<body><form id="frmTest">
Name: <input id="fullName" name="fullName" type="text"><br>
Address: <input id="contactNumber" name="contactNumber" type="text"><br>
<input type="button" value="Submit" onclick="validate();">
</form></body></html>
你并不需要實際地檢查有效性――你可以簡單地在if 語句中使用一個對象,如果它不是一個無效對象的話,所求得的值就為真。列表B就用了這種句法,同時也用到了getElementByID方法。它用了一個if語句來保證在繼續之前getElementByID方法是被支持的(存在)。
列表B
<html><head>
<title>JS Test</title>
<script type="text/javascript">
function validate() {
var doc = document.forms[0];
var flag = true;
if (doc != null) {
if (doc.getElementById) {
if (doc.getElementById("fullName")) {
if (doc.fullName.value == '') {
flag = false;
}
} else {
flag = false;
}
if (doc.getElementById("contactNumber")) {
if (doc.contactNumber.value == '') {
flag = false;
}
} else {
flag = false;
}
if (flag) {
alert('Validation successful, document will be submitted.');
doc.submit()
} else {
alert('Enter values before submitting.');
} }
return 0; }
</script></head>
<body>
<form id="frmTest">
Name: <input id="fullName" name="fullName" type="text"><br>
Address: <input id="contactNumber" name="contactNumber" type="text"><br>
<input type="button" value="Submit" onclick="validate();">
</form></body></html>
雖然在使用對象之前檢查它們是一個好方法,但是有時候還是會有錯誤出現。在這些實例中,JavaScript語言使得發現錯誤變得簡單,從而能夠繼續下去。
新聞熱點
疑難解答