JavaScript中的各种语句...

语句

语句概述

在JavaScript中 语句使用分号(;)进行分隔 可以在每行编写一条语句 也可以在每行编写多条语句

  • 语句块

JavaScript中使用一堆花括号({})表示一个语句块 使用语句块为语句进行分组 这样使语句的结构清晰明了

  • 空语句

空语句允许包含0条语句 JavaScript解释器执行空语句时 不会执行任何动作

  • 流程控制语句

JavaScript解释器按照语句的编写顺序依次执行 但也可以编写一些复杂的语句块 分为 顺序执行 选择执行 循环执行
JavaScript中的各种语句...

条件语句

  • 条件语句是什么

条件语句就是指通过判断指定的计算结果 来绝对是执行还是跳过指定的语句块
如果说JavaScript解释器是按照代码的"路径"执行的话 那条件语句就是这条路上的分叉点 代码执行到这里时必须选择其中一条路径继续执行
JavaScript提供了两种条件语句:if...else语句和switch...case语句

if语句

1.if语句是条件判断语句 也是最基本的流程控制语句
2.if关键字后面的小括号不能被省略
3.if关键字后面的条件判断的结果必须是布尔值 如果结果为非布尔值的话 JavaScript会自动转换为布尔值
4.if语句中的大括号({})可以省略 但是建议编写 提高代码阅读性

if (条件表达式){
 语句块 当条件表达计算结果为true时才执行
}

条件表达式:
*作用 控制是否执行指定的语句块
*结果 一般为Boolean类型的值(true|false)
*问题 如果条件表达式计算的结果不是Boolean类型
*将结果强行转换为Boolean类型 再进行判断

var result = true;// boolean类型值
    var v;/* 定义变量,但不初始化 */
    /*if (v = '卧龙学苑') {/!* 将变量的初始化操作,放置在条件表达式中 *!/
        console.log('这是if语句执行的语句块...');
    }*/
    // 等价于以下写法
    v = '卧龙学苑';/* 变量的初始化操作 */
    if (v) {
        console.log('这是if语句执行的语句块...');
    }

    console.log('这是if语句执行完毕后的内容...');

if...else语句

if...else语句语句是条件判断语句 但是与if语句的执行流程并不同
if...else语句的执行流程:
1.判断条件的结果是true还是false
2.当结果为true时 执行下面的语句块1
3.当结果为false时 执行下面的语句块2
4.继续执行语句块3

var result = false;
    /*
        if...else语句
        if (条件表达式) {
            语句块一
        } else {
            语句块二
        }
     */
    if (result) {
        console.log('这是语句块一...');
    } else {
        console.log('这是语句块二...');
    }

    console.log('这是if语句执行完毕后的内容...');
  • if语句的注意事项

if语句与if...else语句
1.对应的语句块的大括号"{}" 允许被省略的
2.前提:当前语句块中只存在一条语句时
3.省略大括号"{}"时 JavaScript默认认为后面的第一条语句是被控制的语句块内容
4.结论:建议按照语法规则编写

  • if...else语句嵌套

if...else语句支持嵌套写法 也就是说 可以在if或else后面的语句块中据需偏斜if...else语句

var score = 65;

    if (score > 90) {
        console.log('优秀');
    } else {
        if (score > 80) {
            console.log('良好');
        } else {
            console.log('及格');
        }
    }

JavaScript中的各种语句...

else...if语句

1.else...if语句是在if语句的基础上 允许提供多个条件判断
2.else...if语句实际上就是简化版的if...else语句的嵌套写法

var score = 65;

    if (score > 90) {
        console.log('优秀');
    } else {
        if (score > 80) {
            console.log('良好');
        } else {
            console.log('及格');
        }
    }

    /*
        if (条件表达式一) {
            语句块一
        } else if (条件表达式二) {
            语句块二
        } else {
            语句块三
        }
        * else if语句没有任何限制
     */
    if (score > 90) {
        console.log('优秀');
    } else if (score > 80) {
        console.log('良好');
    } else {
        console.log('及格');
    }

switch...case语句

1.switch...case语句是开关语句 但整体执行流程要比if...else语句复杂的多
2.实际开发中 switch...case语句与break语句同时使用
枚举 将计算结果可能的值尽量的罗列完整

switch (条件表达式) {
    case 值一:
        语句块一
    case 值二:
        语句块二
    ... ...
    default:
        语句块N
}

*条件表达式 不一定是Boolean类型 计算结果分别与case语句的值进行比较
*条件表达式计算结果与case语句的值是全等比较(既要比较值 也要比较类型)
*case语句 罗列可能的匹配值
*对应的语句块最后添加 break 关键字 当执行对应的语句块之后 停止继续执行
*default语句 类似于if...else语句中的else语句
*当以上所有case语句的值都不匹配时 默认执行default语句对应的语句块
*注意:不是default语句不需要使用break关键字 而是default默认一般被编写在最后

var result = '0';

    switch (result) {
        case 0:
            console.log('这是数字0');
            break;
        case 1:
            console.log('这是数字1');
            break;
        default:
            console.log('以上结果无一满足');
    }

循环语句

循环语句是一系列反复执行到符合特定条件的语句 为了更好的理解循环语句 可以将JavaScript代码想象成一条条的分支路径 循环语句就是代码路径中的一个回路 可以让一段代码重复执行
循环语句的执行流程如下:
1.执行语句块
2.判断条件的计算值是true还是false
3.如果是true 则重复执行语句块
4.如果是false 则继续执行后面的代码

  • while语句

while语句是一个基本循环语句 语法结构与if语句很类似
while语句的执行流程如下:
1.执行while语句的条件判断是true还是false
2.如果是true 执行语句块 然后重新计算while语句的条件判断是true还是false
3.如果为false 则跳过语句块 继续执行下面的代码
4.while关键字后面的小括号不能被省略
5.while关键字后面的条件判断的结果必须是布尔值 如果结果为非布尔值的话 JavaScript会自动转换为布尔值
6.while语句中的大括号({})可以省略 但是建议编写 提高代码阅读性

while (条件表达式) {
    语句块
}

*必须通过一个变量值的改变 控制条件表达式的计算结果
*在循环的过程中 至少有一次计算结果为false - 结束循环
*如果没有这样的一个变量的话 - 循环叫做死循环

var result = 1;
    while (result <= 10) {
        console.log('这是while循环语句执行...');
        result++;// 改变变量的值,至少有一次让条件表达式计算的结果为false
    }

    console.log('这是while循环语句执行完毕后...');
  • do...while语句
    do...while语句也是一个基本循环语句 执行流程与while语句很类似

do...while语句的执行流程如下:
1.执行语句块
2.执行while语句的条件判断是true还是false
3.如果是true 执行语句块 然后重新计算while语句的条件判断是true还是false
4.如果为false 继续执行下面的代码

var result = 0;
/*
        do {
            语句块
        } while (条件表达式);
     */
    do {
        console.log(result);
        result++;
    } while (result <= 10);
  • while与do...while语句的区别
var result = 0;
// while语句 - 先判断,再执行
while (result > 0) {
    console.log('while语句');
}
// do...while语句 - 先执行,再判断
do {
    console.log('do...while语句');
} while (result > 0);
  • for语句

for语句是一种最简洁的循环语句 其中有三个重要部分:
1.初始化表达式:初始化一个计数器 在循环开始前计算初始状态(用于初始化控制循环的变量)
2.条件判断表达式:判断给定的状态是否为true 如果条件为true 则执行语句块 否则跳出循环(用于判断是否要结束循环)
3.循环操作表达式:改变循环条件 修改计数器的值(用于控制结束循环的节点)
注意:for语句的语法要求并不强制必须定义以上三个表达式
一旦省略三个表达式的话 表达式的分隔符必须存在

var v = 0;
    while (v < 10) {
        console.log(v);
        v++;
    }
    console.log(v);

    var v = 0;
    for (; v < 10; ) {
        console.log(v);

        v++
    }

跳转语句

  • 跳转语句概述

JavaScript中的另一种语句就是跳转语句 从名称就可以看出 它使得JavaScript代码的执行可以从一个位置到另一个位置
跳转语句只能用于循环执行结构 而不能用于条件判断结构
注意:switch...case语句中使用的break,并不是break的用法,而是switch语句的用法
跳转语句提供了break和continue两种 用于跳转当前的循环或开始下一次的循环等

  • break和continue语句

循环语句中的跳转语句
break语句: 表示结束整体循环
continue语句: 表示结束本次循环

  • break语句
var result = 0;
    switch (result) {
        case 0:
            console.log(0);
            break;
        case 1:
            console.log(1);
            break;
        default:
            console.log(2);
    }

    if (true) {
        console.log('if语句...');
        break;
    }

JavaScript中的各种语句...

  • continue语句
for (var i=0; i<9; i++) {
        if (i == 4) {
            continue;
        }
        console.log(i);
    }

JavaScript中的各种语句...