debug的使用

4.1错误的概念与处理

计算机程序错误分为两种:语法错误和逻辑错误

比如alert拼写错误;写成了alter

var a = 3+4;

alert(a);

alert(a);

a++;

alert(a);

运行结果只显示7,后面的结果没有显示,说明后面的代码没有执行。因为


在输出7之后遇到了语法错误,程序终止,

上例也进一步说明了解释型语言的特点,翻译一条,执行一条,遇到错误终止执行

 

语法错误的发现方法:

(1)开发工具的console窗口,能显示错误即说明

(2)try ................catch 捕获异常

/* 报名参军的条件:17-24周岁*/
var age = Number(prompt("请问你的年龄"));
if(17 <= age <= 24){
    alert("欢迎你报名参军")
}else{
    alert("抱歉,你不能参军")
}

当你输入年龄时96或者3都可以报名参军,结果显然是错误的。但是执行过程中没有与语法错误

调试的基本原理:

程序的执行时自动的,而且速度是非常快的,无法了解中间的执行过程。但是几乎所有的开发工具都有调试的功能,可以去控制程序的执行节奏,从而可以让开发工具看清执行过程

怎么去控制执行节奏呢?

(1)设置断点

打开开发者工具

sources页打开源代码,在代码左侧(行号边上)单击即可在该出设置断点


 

2)单步执行(step

每执行一步都会停下来,然后在继续下去

快捷键F10


 

控制节奏的目的是:看清或者了解程序的执行过程,而不仅仅是结果。

怎么看结果呢

(1)查看程序执行的轨迹,也就是上图中所指示即将要执行的代码指示器,如果轨迹与预期不一致,说明上一步执行的代码出现了逻辑错误了。

(2)查看变量和表达式的值

 

 



也可以通过选中代码,然后快捷键复制到watch

 

 

watch窗口就可以看到添加的变量或者表达式的值

因为计算机程序的每一步执行的结果都是唯一的、可预期的,同时我们又可以通过上述手段 控制程序的运行节奏并查看程序执行的状态(如轨迹、变量表达方式的值),也就是可以看到实际执行结果。那么将实现结果和预期的结果对比,如果出现不一致,说明刚刚执行的那一步出现的错误,即定位错误

一旦定位错误,根据所学知识或者经验,应该很容易分析出错的原因,从而找到解决方案

再来调试一个程序

var a = prompt("请输入第一边长");
var b = prompt("请输入第二边长");
var c = prompt("请输入第三边长");
var p = (a + b + c) / 2;//计算周长的一半
var s = Math.sqrt(p * (p - a) * (p - b) * (p - c));//海伦公式计算面积
alert(s);

 

运行程序,程序在预定的断点位置停下来

查看abc变量的值

 

单步执行,查看p的值

 

在查看a+b+c的值

 

a+b+c的值并不是我们预期的,12,而是“345”原来是做了字符串的拼接运算,而不是我们所希望的加法,所以是类型问题

解决方案就是将输入的数据(字符串)转换为数值

在重新调试程序,并查看结果

 

调试工具不仅仅是定位错误工具,也是一个非常重要的学习工具,

能够让我们直观的看到程序的运行轨迹以及运行状态,有助于我们对抽象知识的理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值