条件语句



JavaScript 语句,通常用一个语句标识符来标识要执行的JavaScript操作。

条件语句:下表列出条件相关的 JavaScript 语句

语句

描述

switch

用于基于不同的条件来执行不同的动作。

if … else if … else

用于基于不同的条件来执行不同的动作。

break

退出switch语句或循环


一、switch 语句



switch 语句用于基于不同的条件来执行不同的动作。

1、语法
switch(expression) {
    case n:
        // 代码块
        break;
    case n:
        // 代码块
        break;
    default:
        // 默认代码块
}
2、参数和关键字

参数

描述

expression

必须。指定计算的表达式。表达式只计算一次。表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。

case语句

匹配 expression(用===而不是==),后面只能是常量

break

关键字,用于跳出 switch 代码块,以终止后续代码块的执行。如果忽略该关键字,switch 语句的下一个代码块将会被执行。

default

关键字,用来规定匹配不存在时做的事情。 可选参数,并且只能出现一次。

3、示例
var text
switch (new Date().getDay()) {
    case 0:
    case 6:
        text = '周末'
        break
    default:
        text = '工作日'
        break
}



二、if/esle 语句



if/esle 语句用于基于不同的条件来执行不同的动作

1、语法
if (condition1) {
    // 如果 condition1 为 true 执行该代码块
} else if (condition2) {
    // 如果 condition1 为 false 且 condition2 为 true 执行该代码块
} else {
    // 如果 condition1 为 false 且 condition2 为 false 执行该代码块
}
2、参数和关键字

参数

描述

condition

必须。表达式,用于条件判断: true|false对比第3点

if 语句

指定了在条件为 true 时执行的代码块。

else 语句

指定在条件为 false 时执行的代码块。可选

else if 语句

在第一个条件为false时指定了新的条件。可选

3、参数为赋值运算时
var i
if (i = 1){
    console.log(i);
}

执行上述代码,控制台会打印出 1。这里的表达式变成了赋值运算,仍然会正常执行(赋值),条件判断就变成了判断 赋值之后的值的真假

4、省略花括号

当 if 语句后面只执行一句代码的时候,可以省略花括号。换句话说,如果 if 语句没有花括号,则 if 语句只会考虑下一个语句。



三、优缺点



1、switch 语句的局限性
  • switch 语句 case 后面只能是常量,不能是表达式,也就是说 switch 语句的判断条件只能跟一个常量进行比较。
  • switch 语句 只能有一个表达式(expression)。
  • if/esle 语句 则没有以上的局限性。
2、switch 语句的简洁性

正是因为 switch 语句有了这些局限性,在某些场合使用 switch 语句会更加的简洁。某些场合指,同时满足:

  • 只需要一个判断表达式
  • 判断表达式的值是常量

if/esle 语句实现上述的 switch 语句示例代码,你就会懂了。