错误与调试

1、计算机的错误有两种:语法错误逻辑错误

1.1语法错误:

例:

var a = 3+4;
alert(a);
alter(a);
a++;
alert(a);


上例中alert被拼写成了alter,显示结果为a未被定义,说明后面的代码没有执行,因为输出后遇到了语法错误,程序终止执行。

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


发现语法错误的方法:

(1)开发者工具的console(控制台)窗口,能显示错误及其说明

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

try {
    var a = 3 + 4;
    alert(a);
    alter(a);
    a++;
    alert(a);
} catch (e) {
    alert(e);
}

1.2逻辑错误

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



结果显示,无论输入年龄96或3,都能报名参军,结果显然是错误的,但执行过程中没有显示任何语法错误。

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

1.3调试:

(1)设置断点

打开开发者工具在source打开代码,然后在代码左侧(行号)点击即可在该处设置断点

(2)  单步执行(快捷键:F10):

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

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

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

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

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

就像我的老师所说:调试工具不仅仅是定位错误的工具,也是一个非常重要的学习工具,因为调试工具可以让我们直观的看到程序的运行轨迹及运行状态,有助于我们对于一些抽象指示的理解。


发布了40 篇原创文章 · 获赞 6 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章