【重温基础】2.流程控制和错误处理

简介: 【重温基础】2.流程控制和错误处理


本文是 重温基础 系列文章的第二篇,需要让自己静下心来,学习,养成好习惯。

系列目录:

本章节复习的是JS中的控制流语句,让我们能实现更多的交互功能。

注意一点:在ES6之前,JS是没有块作用域的,如果在语句块外部声明的变量,如果在块内部声明一个相同名称的变量,那么程序将取后声明的这个变量的值:

var a = 1;
{
    var a = 2;
}
a; // 2

但是ES6开始,用let声明的变量是块作用域的:

let a = 1;
{
    let a = 2;
}
a;  // 1

1.条件判断语句

用于根据指定条件返回结果,常见的是if...elseswitch

if...else语句

若条件为,则执行if后面的语句,若条件为,则执行else后面的语句:

if(condition){
    // do something
}else{
    // else 为可选
    // do something
}

False等效值

在JS中下面的值常常被计算为false

  • false
  • undefined
  • null
  • 0
  • NaN
  • 空字符串("")

注意

不要使用原始布尔值truefalse 与 Boolean对象的真和假混淆:

let a = new Boolean(false);  // Boolean {true}
if (a);         //  永真
if (a == true); // 永假 

2.switch语句

通过匹配表达式的值到每个case标签,若匹配成功则执行相关语句:

switch ( 'leo' ){
    case 'pingan':
        // do something
        break;   // 可选
    case 'leo':
        // do something
        break;
    default:  // 都不匹配 则执行默认
        // do something
        break;
}

break为可选,目的用于保证在正确匹配后,能跳出程序的switch语句,并继续执行其他代码,若没有break则程序会继续执行下一个case语句。

3.异常处理语句

throw语句抛出的异常,我们可以使用try...catch捕获并处理,这里需要先介绍两个概念:

throw语句:

用于抛出异常,后面可以是任何表达式:

throw "error !";
throw 404;
throw {msg: 'err'};

try...catch语句:

用于捕获异常,try后面是程序正常时候执行的程序,catch后面是当前面有错误抛出的时候执行,并且捕获错误信息作为参数,并且在catch块执行完成,参数不可再用。

function f(){
    throw 'test error!'
}
try{
    f();
    console.log('success');
}catch (err){    // err 为前面返回的错误信息
    console.log(err);
    console.log('failed');
}
// test error!
// failed

通常在try...catch后还有一个finally语句块,用于不论前面是否有报错,都会执行finally语句:

try{
    // do something
}catch(err){
    // do something
}finally{
    // do something
}

try...catch常常也用在做网络请求的情况下:

function getData (){
    try{
        let a = fetch(url);
    }catch(err){
        console.log(err);
    }
}

参考资料

1.MDN 流程控制与错误处理


本部分内容到这结束

Author 王平安
E-mail pingan8787@qq.com
博 客 www.pingan8787.com
微 信 pingan8787
每日文章推荐 github.com/pingan8787/…
JS小册 js.pingan8787.com


目录
相关文章
|
2天前
|
程序员 测试技术 数据库连接
PHP编程中的错误处理技巧
在PHP编程中,处理错误是至关重要的一环。本文将介绍几种常见的PHP错误类型及其处理技巧,包括语法错误、运行时错误和逻辑错误。通过学习正确的错误处理方法,可以提高代码的可靠性和可维护性,从而更好地保障程序的稳定性和安全性。
20 2
|
2天前
|
前端开发 JavaScript 安全
Promise/A+ 规范详解:打造健壮异步代码的必备知识(上)
Promise/A+ 规范详解:打造健壮异步代码的必备知识(上)
Promise/A+ 规范详解:打造健壮异步代码的必备知识(上)
|
2天前
|
C++
C++语言异常处理学习应用案例
C++异常处理保证程序在运行时遇到错误(如除数为0)时不崩溃。以下是一个示例:程序接收用户输入的两个整数并进行除法运算。若除数为0,则抛出`std::runtime_error`异常。`try-catch`结构用来捕获并处理异常,当出现异常时,输出错误信息,使程序能继续执行。
18 4
|
2天前
|
C++
C++ While 和 For 循环:流程控制全解析
本文介绍了C++中的`switch`语句和循环结构。`switch`语句根据表达式的值执行匹配的代码块,可以使用`break`终止执行并跳出`switch`。`default`关键字用于处理没有匹配`case`的情况。接着,文章讲述了三种类型的循环:`while`循环在条件满足时执行代码,`do/while`至少执行一次代码再检查条件,`for`循环适用于已知循环次数的情况。`for`循环包含初始化、条件和递增三个部分。此外,还提到了嵌套循环和C++11引入的`foreach`循环,用于遍历数组元素。最后,鼓励读者关注微信公众号`Let us Coding`获取更多内容。
22 0
|
2天前
深入浅出do...while语句 — 编程中不可或缺的重复执行利器
深入浅出do...while语句 — 编程中不可或缺的重复执行利器
15 1
|
2天前
|
前端开发 安全
Promise/A+ 规范详解:打造健壮异步代码的必备知识(下)
Promise/A+ 规范详解:打造健壮异步代码的必备知识(下)
Promise/A+ 规范详解:打造健壮异步代码的必备知识(下)
|
2天前
|
算法 C语言
第五章:循环结构程序设计(完全体)
第五章:循环结构程序设计(完全体)
119 0
第五章:循环结构程序设计(完全体)
|
2天前
|
Serverless C语言
第四章:分支结构程序设计(完全体)
第四章:分支结构程序设计(完全体)
48 0
|
11月前
|
Unix 程序员 C语言
C语言编程—错误处理
C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。您可以在 errno.h 头文件中找到各种各样的错误代码。 所以,C 程序员可以通过检查返回值,然后根据返回值决定采取哪种适当的动作。开发人员应该在程序初始化时,把 errno 设置为 0,这是一种良好的编程习惯。0 值表示程序中没有错误。 errno、perror() 和 strerror() C 语言提供了 perror() 和
80 0
如何用c++实现异常处理
如何用c++实现异常处理
如何用c++实现异常处理