- jQuery開發(fā)基礎(chǔ)教程
- 蔡艷桃 萬木君
- 752字
- 2020-06-17 14:27:16
1.3.3 調(diào)試JavaScript程序
程序出錯類型分為語法錯誤和邏輯錯誤兩種。
1. 語法錯誤
語法錯誤是在程序開發(fā)中使用不符合某種語言規(guī)則的語句,從而產(chǎn)生的錯誤稱為語法錯誤。例如,錯誤地使用了JavaScript的關(guān)鍵字,錯誤地定義了變量名稱等,這時,當瀏覽器運行JavaScript程序時就會報錯。
例如,將上面程序中的第11行中的語句改寫成下述語句,即將第一個字符由小寫字母改成大寫字母。
Alert("我要學JavaScript!");
保存該文件后再次在瀏覽器中運行,程序就會出錯。
運行本程序,將會彈出圖1-21所示的錯誤信息。
2. 邏輯錯誤
有些時候,程序中不存在語法錯誤,也沒有執(zhí)行非法操作的語句,可是程序運行的結(jié)果卻是不正確的,這種錯誤叫作邏輯錯誤。邏輯錯誤對于編譯器來說并不算錯誤,但是由于代碼中存在的邏輯問題,導(dǎo)致運行結(jié)果沒有得到期望的結(jié)果。邏輯錯誤在語法上是不存在錯誤的,但是從程序的功能上看是bug。它是最難調(diào)試和發(fā)現(xiàn)的bug。因為它們不會拋出任何錯誤信息。唯一能看到的就是程序的功能(或部分功能)沒有實現(xiàn)。

圖1-21 在IE瀏覽器中調(diào)試JavaScript
例如,某商城實現(xiàn)商品優(yōu)惠活動,如果用戶是商城的會員,那么商品打八五折,代碼如下。
<script language="javascript"> user="會員"; if(user=="會員"){ price=485*8.5; //485是商品價格,8.5是打的八五折 alert("商品的會員價格是:"+price); //輸出商品的會員價 } </script>
運行程序時,程序沒有彈出錯誤信息。但是當用戶為商城的會員時,商品價格乘以一個8.5,相當于,商品不但沒有打折扣,反而比原價貴了8.5倍,這一點就沒有符合要求,屬于邏輯錯誤,應(yīng)該乘以0.85才正確。
在實現(xiàn)動態(tài)的Web編程時,通常情況下,數(shù)據(jù)表中均是以8.5進行存儲,這時在程序中就應(yīng)該再除以一個10,這樣,就相當于原來的商品價格乘以一個0.85。正確的代碼為:
price=485*8.5/10; //485是商品價格,"8.5/10"是打的八五折
對于邏輯錯誤而言,發(fā)現(xiàn)錯誤是容易的,但要查找出邏輯錯誤的原因卻是很困難。因此,在編寫程序的過程中,一定要注意使用語句或者函數(shù)的書寫完整性,否則將導(dǎo)致程序出錯。
- Data Visualization with D3 4.x Cookbook(Second Edition)
- Mastering Visual Studio 2017
- 看透JavaScript:原理、方法與實踐
- 人臉識別原理及算法:動態(tài)人臉識別系統(tǒng)研究
- Python神經(jīng)網(wǎng)絡(luò)項目實戰(zhàn)
- Mastering Google App Engine
- KnockoutJS Starter
- Learning SciPy for Numerical and Scientific Computing(Second Edition)
- Android系統(tǒng)原理及開發(fā)要點詳解
- Bootstrap 4 Cookbook
- C/C++程序員面試指南
- Service Mesh實戰(zhàn):基于Linkerd和Kubernetes的微服務(wù)實踐
- Azure Serverless Computing Cookbook
- Dart:Scalable Application Development
- Manage Your SAP Projects with SAP Activate