带你读书之“红宝书”:第三章 语法基础(中)之 3.6. 流控制语句①

简介: 带你读书之“红宝书”:第三章 语法基础(中)之 3.6. 流控制语句①

写在前头

大多数小伙伴看技术书籍都会用“啃”来描述读书的直观感受,当然我也是一个前端小白,白的透明那种,但是我在读技术书籍感觉到“啃”的时候,我希望把我啃红宝书第四版的过程的想法,总结带给大家,以供后来者能够更快上手。


注: 本文由于作者水平原因,如有错误之处,恳请大家指正,另外随着学习的深入,体会的加深,我会不断回来更新,修改这类文章。


思维导图

9ba63491c5704064959f8112b1089def_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


简述

操作符,顾名思义就是用来操作数据值的一种符号。书上的解释也很详细,还涉及了使用方法转换对象,以便操作。


脉络 3.6. 流控制语句

这小节就是介绍了3.6. 流控制语句。大体和c语言等等都一样的。


3.6. 流控制语句

c202f226fea44eb0814f7304c8be145d_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


判断语句

3.6.1. if 语句

fa3c1a72a2dc4e4c88f79654062bdc8d_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


  • 条件(condition)可以是任何表达式
<script>
        if (condition) {
            // 语句1
        } else {
            // 语句2
        }
    </script>
复制代码

条件condition成立结果为true时,执行语句1,否则执行语句2


  • 语句可能是一行代码,也可能是一个代码块

直接在第二章里讲到块{}时,在流控制语句中,不管执行语句是几条,最好都使用{}将执行语句包括。


3.6.2. switch 语句

e70112bb9e1d41eda13199f35cf56d4a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


  • break 关键字

break 关键字会导致代码执行跳出 switch 语句。如果没有 break,则代码会继续匹配下一个条件。 如果想像if语句一样,那么必须在每一个case后面使用break;

<script>
        let num = 3;
        switch (num) {
            case 1:
                console.log(1);
                break;
            case 2:
                console.log(2);
                break;
            case 3:
                console.log(3);
                break;
            case 4:
                console.log(4);
                break;
        }
        // >> 3
    </script>
复制代码


  • default 关键字

在都没有对应的case语句来匹配时,执行default后面的语句。

<script>
        let num = 5;
        switch (num) {
            case 1:
                console.log(1);
                break;
            case 2:
                console.log(2);
                break;
            case 3:
                console.log(3);
                break;
            default:
                console.log(4);
                break;
        }
        // >> 4
    </script>
复制代码


  • 连续匹配几个条件-写注释

当需要联系匹配多条语句时,最好注释写出是故意不使用break语句的。

  • 用于所有数据类型

js和其他语言不同的是,switch语句的参数可以是任何数据类型。

  • 比较每个条件的值时会使用全等操作符
<script>
        let num = 2;
        switch (num) {
            case '2':
                console.log(1);
                break;
            case 2:
                console.log(2);
                break;
            case 3:
                console.log(3);
                break;
            default:
                console.log(4);
                break;
        }
        // >> 2
    </script>
复制代码

这里2和字符‘2’是不一样的。


循环语句

3.6.3. while 语句

9991c57addb149b5a74acd433ca86457_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


先测试循环语句

<script>
        let i = 10;
        do {
            i += 2;
        } while (i < 10);
        console.log(i); // 10
    </script>
复制代码

这里i不满足条件,但是一次没有执行。i变成了10


3.6.4. do-while 语句

a5d933c166ef40b19f08431148230e52_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


后测试循环语句

简单来说就是,先执行{}里面的语句,在像while语句一样进行。同c语言一样。

<script>
        let i = 10;
        do {
            i += 2;
        } while (i < 10);
        console.log(i); // 12
    </script>
复制代码

这里即使i不满足条件,但是任然先执行了一次。i变成了12



目录
相关文章
|
6月前
|
存储 分布式计算 运维
第五章 Python函数你知多少
第五章 Python函数你知多少
|
前端开发 JavaScript C语言
带你读书之“红宝书”:第十章 函数①
带你读书之“红宝书”:第十章 函数①
100 0
带你读书之“红宝书”:第十章 函数①
|
前端开发 C语言
带你读书之“红宝书”:第十章 函数④
带你读书之“红宝书”:第十章 函数④
78 0
带你读书之“红宝书”:第十章 函数④
|
编译器 C语言 C++
0基础C语言自学教程——第三节 分支与循环
需要指出的是,在这里,笔者只是建议,具体的如果写成第二种明显更好的或者有写第二种的需求的当然以更好的方式以及需求优先。
86 0
0基础C语言自学教程——第三节 分支与循环
|
前端开发 C语言
带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符①
带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符①
69 0
带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符①
|
前端开发
带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符③
带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符③
68 0
带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符③
|
存储 前端开发 JavaScript
带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符②
带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符②
95 0
带你读书之“红宝书”:第三章 语法基础(中)之 3.5操作符②
|
前端开发 JavaScript C语言
带你读书之“红宝书”:第十章 函数⑤
带你读书之“红宝书”:第十章 函数⑤
68 0
带你读书之“红宝书”:第十章 函数⑤
|
存储 JavaScript 前端开发
带你读书之“红宝书”:第十章 函数②
带你读书之“红宝书”:第十章 函数②
103 0
带你读书之“红宝书”:第十章 函数②
|
JavaScript 前端开发 C语言
带你读书之“红宝书”:第十章 函数③
带你读书之“红宝书”:第十章 函数③
104 0
带你读书之“红宝书”:第十章 函数③