ES6条件语句用于根据各种条件执行不同的操作。 条件语句在执行指令之前评估条件。在编写代码时,我们需要针对不同的决定执行不同的操作。 可以通过使用条件语句来执行它。
JavaScript中的条件语句如下所示:
if
语句if….else
语句if….else if….
语句if
语句switch
语句让我们尝试详细说明这些条件语句。
它是最简单的决策语句之一,用于确定在特定条件为真时将执行JavaScript代码块,否则直接跳过。
语法
if (condition) { // block of code will execute if the condition is true }
如果条件的计算结果为true
,则执行if
语句中的代码,但是如果条件的计算结果为false
,则将执行if
语句结束之后(大括号关闭之后)的代码。
注意:
if
语句必须用小写字母书写。 使用大写字母(If
或IF
)将导致JavaScript错误。
if语句的流程图如下:
示例代码:
var x = 78; if (x>70) { console.log("x is greater") }
执行上面示例代码,得到以下结果:
x is greater
if...else
语句包含两个块,分别是if
块和else
块。 这是控制语句的下一种形式,它允许以更受控制的方式执行JavaScript。 当需要检查两个不同的条件并执行一组不同的代码时,可以使用它。 如果条件为假,则执行else
语句中代码块。
语法
if (condition) { // block of code will execute if the condition is true } else { // block of code will execute if the condition is false }
如果条件为true
,则将执行if
块中的语句,但如果条件为false
,则将执行else
块的语句。
流程图如下所示:
下面来看看下面示例代码,演示如何使用 if….else statement
语句:
var x = 40, y=20; if (x < y) { console.log("y is greater"); } else { console.log("x is greater"); }
执行上面示例代码,得到以下结果:
x is greater
它用于测试多个条件。 if
语句可以有多个或零个else if
语句,并且必须在使用else
语句之前使用else if
语句。需要注意的是:else
语句必须位于else if
语句之后。
语法
if (condition1) { // block of code will execute if condition1 is true } else if (condition2) { // block of code will execute if the condition1 is false and condition2 is true } else { // block of code will execute if the condition1 is false and condition2 is false }
示例:
var a = 10, b = 20, c = 30; if( a > b && a > c) { console.log("a is greater"); } else if( b > a && b > c ) { console.log("b is greater"); } else { console.log("c is greater"); }
执行上面示例代码,得到以下结果:
c is greater
嵌套if语句表示一个if语句嵌套在另一个if语句之内。
if (condition1) { Statement 1; //It will execute when condition1 is true if (condition2) { Statement 2; //It will execute when condition2 is true }else { Statement 3; //It will execute when condition2 is false } }
示例代码
var num = 20; if (num > 10) { if (num%2==0){ console.log( num+ " is greater than 10 and even number"); }else{ console.log(num+ " is greater than 10 and odd number"); } } else { console.log(num+" is smaller than 10"); } console.log("After nested if statement");
执行上面示例代码,得到以下结果:
20 is greater than 10 and even number After nested if statement
switch
语句是一个多向分支语句,也用于决策目的。在某些情况下,switch
语句比if-else
语句更方便。它主要在所有分支都取决于单个变量的值时使用。它根据不同的情况执行一个代码块。
switch
语句使用break
或default
关键字,但它们都是可选的。下面是这两个关键字的说明:
break
:在switch
语句中用于终止语句序列。它是可选的。如果省略它,那么将在每个语句上继续执行。当使用它时,它将停止该块内的执行。default
:它指定没有大小写匹配时要运行的一些代码。switch
语句中只能有一个默认关键字。它也是可选的,但是建议使用它,因为它可以处理意外情况。如果在某些情况下传递给switch
的条件与任何值都不匹配,则将执行默认情况下的语句。
需要注意:
switch
表达式可以有一个或多个case
值。break
和defaul
t关键字是可选的。case
语句只能包含常量和文字,不能是表达式或变量。switch
块中最后放置默认块。语法:
switch(expression){ case value1: //code to be executed; break; //optional case value2: //code to be executed; break; //optional ...... default: code to be executed if all cases are not matched; }
switch语句的流程图如下所示:
示例代码
var num = 5; switch(num) { case 0 : { console.log("Sunday"); break; } case 1 : { console.log("Monday"); break; } case 2 : { console.log("Tuesday"); break; } case 3 : { console.log("Wednesday"); break; } case 4 : { console.log("Thursday"); break; } case 5 : { console.log("Friday"); break; } case 6 : { console.log("Saturday"); break; } default: { console.log("无效的值~"); break; } }
执行上面示例代码,得到以下结果:
Friday