jQuery开发基础教程
上QQ阅读APP看书,第一时间看更新

1.3.3 调试JavaScript程序

程序出错类型分为语法错误和逻辑错误两种。

1. 语法错误

语法错误是在程序开发中使用不符合某种语言规则的语句,从而产生的错误称为语法错误。例如,错误地使用了JavaScript的关键字,错误地定义了变量名称等,这时,当浏览器运行JavaScript程序时就会报错。

例如,将上面程序中的第11行中的语句改写成下述语句,即将第一个字符由小写字母改成大写字母。

 Alert("我要学JavaScript!"); 

保存该文件后再次在浏览器中运行,程序就会出错。

运行本程序,将会弹出图1-21所示的错误信息。

2. 逻辑错误

有些时候,程序中不存在语法错误,也没有执行非法操作的语句,可是程序运行的结果却是不正确的,这种错误叫作逻辑错误。逻辑错误对于编译器来说并不算错误,但是由于代码中存在的逻辑问题,导致运行结果没有得到期望的结果。逻辑错误在语法上是不存在错误的,但是从程序的功能上看是bug。它是最难调试和发现的bug。因为它们不会抛出任何错误信息。唯一能看到的就是程序的功能(或部分功能)没有实现。

0

图1-21 在IE浏览器中调试JavaScript

例如,某商城实现商品优惠活动,如果用户是商城的会员,那么商品打八五折,代码如下。

 <script language="javascript"> 
 user="会员"; 
 if(user=="会员"){ 
  price=485*8.5;      //485是商品价格,8.5是打的八五折 
  alert("商品的会员价格是:"+price);   //输出商品的会员价 
 } 
 </script> 

运行程序时,程序没有弹出错误信息。但是当用户为商城的会员时,商品价格乘以一个8.5,相当于,商品不但没有打折扣,反而比原价贵了8.5倍,这一点就没有符合要求,属于逻辑错误,应该乘以0.85才正确。

在实现动态的Web编程时,通常情况下,数据表中均是以8.5进行存储,这时在程序中就应该再除以一个10,这样,就相当于原来的商品价格乘以一个0.85。正确的代码为:

 price=485*8.5/10;     //485是商品价格,"8.5/10"是打的八五折 

对于逻辑错误而言,发现错误是容易的,但要查找出逻辑错误的原因却是很困难。因此,在编写程序的过程中,一定要注意使用语句或者函数的书写完整性,否则将导致程序出错。