流程控制语句

  • 条件判断语句 if
  • 条件分支语句 switch
  • 循环语句 for 、while

switch 和 if 都可以相互转换,switch 的性能更优于 if


1. 条件判断语句 if

在某条语句之前,使用条件判断语句。

如果条件成立才会执行 if 代码块 里的语句,不成立,则跳过 if 代码块 里的语句,而执行下面的语句。

if 语句,只会有一个代码块被执行。。。有一个代码块被执行了,if 语句就结束了。

  • 语法一

    • if(条件表达式1 && 条件表达式2)
      {
      语句1;
      语句2;
      }
  • 语法二
    • if(条件表达式1 && 条件表达式2)
      {
      语句1;
      语句2;
      }
      else
      {
      语句3;
      语句4;
      }
  • 语法三
    • if (条件表达式1 && 条件表达式2)
      {
      语句1;
      语句2;
      }
      else if (条件表达式3 && 条件表达式4)
      {
      语句3;
      语句4;
      }
      else
      {
      语句5;
      语句6;
      }

2. 条件分支语句

  • switch(条件表达式)
    {
    case 表达式1:
    语句1;
    语句2;
    break;
    case 表达式2:
    语句3;
    break;
    case 表达式3:
    语句4;
    语句5;
    语句6;
    break;
    default:
    语句7;
    break;
    }

    执行时,根据 条件表达式 的值与 case 的值依次进行全等比较,全等的则执行之后的除了 case 的所有语句。

如果遇到 break; 则马上跳出 switch 语句块。

如果所有的 case 都是 false,则执行 default 后面的语句。

  • switch 语句后面的表达式,与case语句后面的表示式比较运行结果时,采用的是严格相等运算符(===,而不是相等运算符(==),这意味着比较时不会发生类型转换。

    • var x = 1;
      
      switch (x) {
      case true:
      console.log('x 发生类型转换');
      break;
      default:
      console.log('x 没有发生类型转换');
      }
      // x 没有发生类型转换

3. 循环语句

  • while

    • while(条件表达式)
      {
      语句1;
      语句2;
      }
    • 先判断条件表达式,再执行一次代码块。每执行完一次代码块,就判断一次条件表达式。
    • 只要条件表达式成立,就会一直执行代码块。

  • do while

    • do
      {
      语句1;
      语句2;
      }
      while(条件表达式);
    • 先执行一次代码块,再进行条件表达式判断,如果成立,则再循环一次。
    • 只要条件表达式成立,就会一直执行代码块。
    • 这种循环至少会执行一次。
  • for

    • for(初始化表达式; 条件表达式; 递增表达式)
      {
      语句1;
      语句2;
      }
  • 初始化表达式(initialize):确定循环变量的初始值,只在循环开始时执行一次。
  • 条件表达式(test):每轮循环开始时,都要执行这个条件表达式,只有值为真,才继续进行循环。
  • 递增表达式(increment):每轮循环的最后一个操作,通常用来递增循环变量。

break; 和 continue;

  • 这两条语句用于在循环中精确控制代码的执行。
  • break; 用于立刻跳出最近的循环,强制从外面的代码开始执行。。。用在 循环 switch
  • continue; 用于立刻结束当次循环,去进行条件语句的判断,然后继续正常运行。。。只能用在循环中。

代码块

  • 程序,是由一条一条语句组成的。
  • 语句从上往下按顺序一条一条执行。
  • 在 js 中使用 {} 对语句进行分组,他们要么都执行,要么都不执行。。。
  • {语句1;语句2;} 这样的我们称其为 " 区块 "  或者 "代码块"。
  • 在代码块后面就不许要分号了。
  • 只具有语句分组的作用,单独使用无影响。

标签 label

  • javascript 允许语句前面有标签,相当于定位符, 用于跳转到程序的标签位置

    •  
  • break 标签
    • 跳出 标签的代码块

      • foo: {
        console.log(1);
        break foo;
        console.log('本行不会输出');
        }
        console.log(2);
      • 还可以跳出多层循环
      • top:
        for (var i = 0; i < 3; i++){
        for (var j = 0; j < 3; j++){
        if (i === 1 && j === 1) break top;
        console.log('i=' + i + ', j=' + j);
        }
        } // i=0, j=0
        // i=0, j=1
        // i=0, j=2
        // i=1, j=0
  • continue 标签
    • 满足条件时,会跳过当前循环,直接进入下一轮外层循环。
    • 如果continue语句后面不使用标签,则只能进入下一轮的内层循环。
      • top:
        for (var i = 0; i < 3; i++){
        for (var j = 0; j < 3; j++){
        if (i === 1 && j === 1) continue top;
        console.log('i=' + i + ', j=' + j);
        }
        }
        // i=0, j=0
        // i=0, j=1
        // i=0, j=2
        // i=1, j=0
        // i=2, j=0
        // i=2, j=1
        // i=2, j=2

(56)Wangdao.com第八天_JavaScript 流程控制语句的更多相关文章

  1. (55)Wangdao.com第八天_JavaScript 字符串中使用 \u 输出Unicode字符

    JavaScript中,使用Unicode 需要 \u 进行转义,格式 "\u十六进制" console.log(\u0031); console.log(\u0041); // ...

  2. Python流程控制语句

    人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走:有的人好一点,可以二选一:有些能力好或者家境好的人,可以有更多的选择:还有一些人在人生的迷茫期会在原地打转,找不到方向.对于相信有 ...

  3. 【转】Python流程控制语句

    [转]Python流程控制语句 人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走:有的人好一点,可以二选一:有些能力好或者家境好的人,可以有更多的选择:还有一些人在人生的迷茫期会在 ...

  4. 流程控制语句if基本概述

    目录 1. 流程控制语句if基本概述 2. 流程控制语句if文件比较 判断文件是否存在,返回方式 使用变量的方法进行判断 请输入你要备份的数据库名称: wordpress 请输入你要备份的数据库密码: ...

  5. Linux Shell 流程控制语句

    * 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...

  6. 8-04流程控制语句BEGIN ..END

     流程控制语句: 是用来控制程序流程的语句. 常用的流程控制语句的分类: 顺序结构:BEGIN...END 分支结构: IF ..ELSE 或CASE ..END 循环结构:WHILE 顺序结构 语法 ...

  7. JAVA 1.6 流程控制语句

    1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...

  8. 20151013 C# 第一篇 流程控制语句

    20151013 流程控制语句: 1.选择语句 if … else if...else 选择语句 if(布尔表达式){  语句块:} if(布尔表达式){  语句块1:}else{  语句块2:} i ...

  9. java基础3_流程控制语句

    一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...

随机推荐

  1. matlab运行出现“变量似乎会随着迭代次数改变而变化,请预分配内存,以提高运行速度”问题

    这句话大致意思就是: b = 0;for i = 1:3    a(i) = b;end是说变量的长度是变化的,经常在循环里出现,比如上面这个例子,这样会影响计算速度,最好的办法是预先定义a的长度,比 ...

  2. Git 分支 (二)合并

    分支的新建与合并 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流. 你将经历如下步骤:1. 开发某个网站.2. 为实现某个新的需求,创建一个分支.3. 在这个分支上开 ...

  3. 分享一个自搭的框架,使用Spring boot+Vue+Element UI

    废弃,新的:https://www.cnblogs.com/hackyo/p/10453243.html 特点:前后端分离,可遵循restful 框架:后端使用Spring boot,整合了aop.a ...

  4. [物理学与PDEs]第1章习题7 载流线圈的磁场

    设一半径为 $R$ 的圆周电路上的电流强度为 $I$. 试计算在通过圆心垂直于圆周所在平面的直线上, 由该圆周电路产生的磁场的磁感强度. 解答: 由对称性知在该直线 $l$ 上, ${\bf B}$ ...

  5. Centos 05 系统目录讲解

    本节内容 1.linux目录结构 2.主目录功能简介 3.重要子目录 linux目录结构 在linux里面,逻辑上所有目录只有一个顶点,根是所有目录的起点. 根下面是类似一个倒挂的树一样的层次结构 可 ...

  6. Subsequence(序列自动机模板题)

    题目链接:https://nanti.jisuanke.com/t/38232 题目大意:给你一个字符串,然后再给你m个字符串,然后问你在第一个字符串中不连续的子串能不能构成输入的子串. 具体思路:构 ...

  7. brew install

    1. 访问  https://brew.sh/ 命令行下运行: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.co ...

  8. 【ARTS】01_21_左耳听风-201900401~201900407

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  9. MUI初学1

    1.1)官网: http://www.dcloud.io/ 2)案例: http://www.dcloud.io/case/#group-1 3)文档:http://dev.dcloud.net.cn ...

  10. hdu3555数位dp基础

    /* dp[i][0|1|2]:没有49的个数|最高位是9,没有49的个数|有49的个数 dp[i][0]=10*dp[i-1][0]-dp[i-1][1] dp[i][1]=dp[i-1][0] d ...