语句概述

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

  • 建议每行编写一条语句,提高代码可读性
  • JavaScript解释器是按照语句的编写顺序依次执行的

语句块

JavaScript中使用花括号({})表示一个语句块,语句块的作用是为语句分组,是代码清晰明了,提高可读性

{
    var num = 100;
    console.log(num);//100
}

空语句

空语句即为只有分号(;)没有语句内容。JavaScript解释器执行空语句时,不会有任何动作。

流程控制语句

JavaScript解释器是按照语句顺序依次执行,但也可以编写一些复杂的语句块,基本分为以下

  • 顺序执行
  • 选择执行
  • 循环执行

条件语句

条件语句是指通过判断指定的计算结果,来决定是执行还是跳过指令的语句块

if语句

if语句是条件判断语句,也是最基本的流程控制语句

var result = 3
/*
   if(条件表达式){
         语句块-当条件表达式计算结果为true时才生效
    }
*/
/*条件表达式一般为布尔类型,true生效,false则跨过语句块继续执行下面的代码
* 如果条件表达式计算结果不是布尔类型,则强制转换为布尔类型*/
if (result>2) {
    console.log('化物语')
}
   console.log('伪物语')//这是if语句块后面的的语句

var v  //定义变量但不初始化值
if (v=23){//对变量初始化值,这样的写法也是有效的
    console.log('输出')
}

if...else语句

if...else语句是条件判断语句,但和if语句有所不同

var result = true
/*
    if(条件表达式{
       语句块一
      } else {
        语句块二)
      }
*/   /*先判断条件表达式
*      true则执行语句块一
*      false则执行语句块二
*      之后继续执行后面的代码*/
if (result){
    console.log('化物语')
}   else {
    console.log('伪物语')
}

if...else的嵌套

if...else语句支持嵌套,但最好不要嵌套多层,影响可读性和运行

var result = 70;
/*在if或者else后面的语句块中都可以嵌入新的if...else语句
* */
if (result>90){
    console.log('优秀');
}   else {
    if (result>80){
    console.log('良好');
    }else {
        console.log('及格');
    }
}

else...if语句

else...if语句允许多个条件判断

var result = 70
/*else...if语句是if...else语句的优化版
* 没有嵌套结构*/
if (result>90) {
    console.log('优秀')
}   else if (result>80) {
        console.log('良好')
    }else {
        console.log('及格')
}

switch..case语句

switch...case语句是开关语句

var result = 2
/*
    枚举 - 将计算结果可能的值尽量的罗列完整
    switch (条件表达式) {
        case 值一:
            语句块一
        case 值二:
            语句块二
        ... ...
        default:
            语句块N
    }
    * 条件表达式 - 不一定是Boolean类型,计算结果分别与case语句的值进行比较
      * 条件表达式计算结果与case语句的值是全等比较(既要比较值,也要比较类型)
    * case语句 - 罗列可能的匹配值
      * 对应的语句块最后添加 break 关键字 - 当执行对应的语句块之后,停止继续执行
    * default语句 - 类似于if...else语句中的else语句
      * 当以上所有case语句的值都不匹配时,默认执行default语句对应的语句块
      * 注意 - 不是default语句不需要使用break关键字,而是default默认一般被编写在最后
 */
switch (result){
    case 2://冒号是不能省略的
        console.log('化物语')
        break
    case 3:
        console.log('伪物语')
        break
    default:
        console.log('以上结果不满足')
}

循环语句

循环语句是当判断条件的结果未达到预期值时,不断执行前面的一段代码

while语句

while语句是一个基本循环语句,类似于if语句

var result = 2;
/*
* while(条件表达式){
*       语句块}
*   必须通过变量值的改变控制条件表达式的计算结果
*   在循环中,至少要有依次false结束循环,否则是个死循环       
*   */
while (result<5){//先判断,再执行
    console.log('这是一个while循环语句');
    result++;//自增,每次加1  用于改变变量值
}

do...while语句

do...while语句也是一个基本循环语句,和whlie语句很像。
do...while语句和while语句的差别只是执行和判断的先后顺序

var result = 2
/*
*   do {
*      语句块
*      }while(条件表达式)
*      */
do {//先执行,在判断
    console.log('化物语')
    result++
}while (result<5)

for语句

var result = 2
/*
*   for(初始化表达式;条件判断表达式;循环控制表达式){
*       语句块
*       }
*       初始化表达式-用于控制变量值
*       条件判断表达式-判断是否要结束循环
*       循环控制表达式-控制循环结束的节点
*       
*       for语句并不是一定要定义三个表达式,但;必须要有*/
for (result = 2;result<5;result++){
    console.log('化物语')
}
/*for语句并不是一定要定义三个表达式,但;必须要有*/
var v = 0;
for (; v < 10; ) {
    console.log(v);
    v++
}

跳转语句

跳转语句可以将JavaScript代码的执行从一个位置跳到连一个位置
只能在循环结构使用

  • break语句是中段语句,用于终止循环语句或者开关语句
  • continue是连续语句,用于重新连接while、do...while、for语句

break语句

switch (result) {
    case 1:
       console.log('化物语')
       break//由于当前值有预期值不相等,所以此处break无效

    case 2:
        console.log('伪物语')
        break//由于当前值与预期值一致,break生效。中断循环

    default:
        console.log('猫物语')
}

continue语句

for (var i=0; i<9; i++) {
    if (i == 4) {
        /*continue;*/
    }
    console.log(i);
}

李威振
16 声望5 粉丝

别离时方知此世间,花亦花来人亦人