错误与调试
1.错误
计算机的错误有两种:语法错误和逻辑错误。
1)语法错误
指的是你写的代码写错了,比如说单词写错了;哪里忘记定义了。。。。。。等之类的错误
var a = 3 + 4;
alter(a);
上面这个就是单词拼错,他把单词alert拼成了alter。
在js中,他的错误不会直接提出来,不会有错误就不让你运行。因为js是弱类型语言,也是解释型语言。这两种语言的特点在于有错误不会直接提示,他也会执行,不过当执行到错误的代码时,他就不执行了。
因为上面的代码,我们写了a,所以我们就看看a有没有值。
根据图能到a的值是7,这也验证了js是解释性语言。
排错方法:1.开发者工具的console窗口,能显示错误及其说明。
2.使用try {} catch (e) {}来捕获错误
2) 逻辑错误
特点:在语法上没有问题,但是实际执行结果和预期结果有出入。
下面这个例子:
var age = Number(prompt("请输入您的年龄?"));
if(17<=age>=24){
alert("欢迎参军");
}
else{
alert("抱歉,你不能参军");
}
这个达不到预期的结果。
2.调试
程序是自动运行的,而且运行速度非常快,无法了解中间的执行过程。
但是几乎所有的开发工具都提供了调试的功能,可以去控制程序的执行节奏,从而可以让开发者看清楚执行过程。
怎么去控制执行节奏?
(1)设置断点
打开开发者的工具,打开sources,再打开源代码,然后在你需要断点的行数上点击一下,就会发现该行数的数字变蓝了,这就是断点。
(2)重新运行程序
(3)点击单步运行(step)
(4)在watch中添加属性,可以随时观看变化
(5)你可以直接选中属性,然后右键点击Add ,他就会直接添加到watch中
(6)Breakpoints 这个是断点的意思。我们可以在sources中的左边的行数上点击你需要断点的代码,这样就添加了断点。这个断点我们可以在Breakpoints中看到。
(7)计算机程序的每一步执行的结果都是唯一的,可确定的。通过以上手段控制程序的运行节奏并查看运行状态,可以看到实际结果。那么将实际结果和预期结果对比。如果出现不一致,那么就是刚刚执行的代码有误,即定位错误。
(8)调试工具不仅仅是定位错误,也是一个非常重要的学习工具。
(9)因为调试工具可以让我们直观地看到程序的运行轨迹以及运行状态,有助于我们对于一些抽象知识的理解。