像JSP
ASP
NET
ColdFusion這樣的Web開發平台提供了大量強大服務器端開發選項
但是
它們並沒有否定用JavaScript進行客戶端的Web開發
JavaScript同時提供了邏輯和用戶接口功能
減輕了服務器端處理的負載
盡管我們已經使用它有多年了
但是它的開發工具還是有點落後
現在就讓我們仔細看看JavaScript的開發和調試選項
開發工具
如果你習慣使用諸如Visual Studio或者NetBeans這樣的集成開發環境(IDE)
那麼你就一定很熟悉各種調試選項
包括代碼單步調試
設置斷點
以及監視變量等
在監視代碼執行或者追蹤錯誤時
這些都是不可或缺的工具
不幸的是
這些工具在JavaScript開發人員中並不是十分普及
調試
應用程序開發中的一個重要步驟是追蹤腳本或者代碼中的錯誤
這包括隔離代碼段
一行一行地分析它們
在使用JavaScript的時候
你可以使用在開發工具大發展之前用過的方法
在這種情況下
最常用的一種JavaScript函數是警報信息框
你可以用它來檢查保存在變量/對象裡的值
並與循環一起使用來查看對象的內容
舉個例子
列表A裡的HTML代碼沒有按照預期的效果執行
<html><head>
<title>JS Test</title>
<script language=
JavaScript
>
function validate() {
var doc = document
forms[
];
var flag = true;
if (doc
fullName
value =
)
flag = false;
if (ntactNumber
value =
)
flag = false;
if (flag) doc
submit()
else alert(
Enter values before submitting
);
}
</script></head>
<body>
<form id=
frmTest
>
Name: <input name=
fullName
type=
text
/><br />
Address: <input name=
contactNumber
type=
text
/><br />
<input type=
button
value=
Submit
onclick=
validate();
/>
</form></body></html>
按理說
它會在表單被真的提交之前驗證在兩個文本字段裡輸入的值
這個表單總是不管輸入的值是什麼就被提交
所以我們可以使用警報語句在腳本執行期間檢查值的內容
列表B裡的腳本就使用了警報語句來監視變量的值
<html><head>
<title>JS Test</title>
<script language=
JavaScript
>
function validate() {
var doc = document
forms[
];
var flag = true;
alert(
Script starting
flag =
+ flag);
alert(
Script starting
Full name =
+ doc
fullName
value);
alert(
Script starting
Contact number =
+ ntactNumber
value);
if (doc
fullName
value =
) {
alert(
First check
Full Name is empty
);
flag = false;
}
if (ntactNumber
value =
) {
alert(
Second check
Contact Number is empty
);
flag = false;
}
if (flag) {
alert(
Validation successful
document will be submitted
);
doc
submit()
} else {
alert(
Enter values before submitting
);
} }
</script></head>
<body><form id=
frmTest
>
Name: <input name=
fullName
type=
text
/><br />
Address: <input name=
contactNumber
type=
text
/><br />
<input type=
button
value=
Submit
onclick=
validate();
/>
</form></body></html>
果你執行這段腳本
很明顯if語句總是為
真
如果更加仔細地看一看
你會注意到這裡使用的是分配操作(=)而不是等於(==)
經過這兩個改變
腳本就會按預期的結果執行了
這個錯誤很常見
尤其是當開發人員在諸如VB
NET和其他句法上存在差異的語言之間輪流轉換時
我們現在快速浏覽更多幾個常見的錯誤
JavaScript對大小寫敏感
所以變量名
JavaScript語句
以及類似的內容必須使用正確的格式/大小寫
所以要按照統一的方式給你的對象
變量和函數命名
在代碼中使用逗號
除了for語句外
JavaScript把逗號用作變量的分隔符
JavaScript要用大括號來定義一段語句
字符串必須放在引號(單引號或者雙引號)之間
用alert函數進行調試對於開發人員來說很常見
但是現在有很多其他的選項來監視腳本
包括浏覽器和IDE
雖然Internet Explorer是最流行的浏覽器
但是它對JavaScript調試的支持還顯得相當初級
如果發生JavaScript錯誤
會有一個錯誤(信息)窗口顯示
(大多數JavaScript錯誤的)錯誤消息還遠不能讓人滿意
但是它們至少能夠讓你知道發生了什麼錯誤
這些消息包括一個行號(盡管它從來都沒有與真正的錯誤行相對應
但是它確實讓你離錯誤行比較近了)
此外
它還能夠調用外部應用程序進行調試(比如Visual Studio
如果安裝了的話)或者檢查代碼
注意
你可以從
工具|選項(Tools | Options)
裡啟動JavaScript的調試功能
基於Mozilla的浏覽器也提供了選擇的機會
Firefox帶有一個JavaScript控制台
用來顯示當前頁面上腳本的(錯誤
警告
信息等)消息
它會明確地顯示發生錯誤的代碼
並用箭頭指示哪裡出現了錯誤
Netscape和Opera也帶有JavaScript控制台
有些浏覽器還有用於調試的專用句法
一個典型的例子是Opera
它支持將輸出送到控制台的opera
postError()命令
Safari浏覽器的
調試(Debug)
菜單讓你可以啟動JavaScript錯誤的記錄
這樣它們就會出現在控制台裡
IDE選項
你還可以通過自己習慣的IDE調試基於浏覽器的應用程序
Visual Studio就是這樣一個例子
它能夠讓你通過它調試Internet Explorer應用程序
你必須在Web服務器(IIS)啟動調試功能
這要按照下面的步驟進行
在調試模式(Debug|Start)啟動Web應用程序
應用程序在一個浏覽器窗口裡啟動
返回到Visual Studio客戶端
選擇
調試|窗口|運行文檔(Debug | Window | Running Documents)
當前運行的應用程序會出現在
運行文檔
窗口裡
你可以選擇Web窗體
在JavaScript代碼裡設置斷點
返回Web窗體
使用應用程序
執行會在插入的任何JavaScript斷點處停止
Visual Studio不是唯一支持調試的IDE
例如
Dreamweaver有它自己的JavaScript調試器
讓你調試句法和邏輯錯誤
設置斷點
監視變量
進行代碼單步調試
它的一個非常好的特性是會用簡單幾句話解釋JavaScript的錯誤
你還可以使用單獨的JavaScript調試工具
一個典型的例子是SplineTech的JavaScript HTML Debugger
它是一個功能完備的開發工具
如果你使用Eclipse IDE
那麼JSEclipse就是Eclipse的一個用於JavaScript開發的插件
用於調試的其他語言
JavaScript已經發展成為進行Web客戶端編程的標准語言
它有大量的語言資源
但是對開發的支持並不完備
大多數使用JavaScript的開發人員更傾向於用原來的方法進行調試
但是現在有很多工具來減輕測試和調試的負擔
Tony Patton的職業生涯始於應用程序開發員
現已獲得Java
VB
Lotus和XML認證證書
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19360.html