ECMAScript/ES6决策定制
ES6条件语句用于根据各种条件执行不同的操作。 条件语句在执行指令之前评估条件。在编写代码时,我们需要针对不同的决定执行不同的操作。 可以通过使用条件语句来执行它。
1.条件语句的类型
JavaScript中的条件语句如下所示:
if
语句if….else
语句if….else if….
语句- 嵌套
if
语句 switch
语句
让我们尝试详细说明这些条件语句。
1.1. if语句
它是最简单的决策语句之一,用于确定在特定条件为真时将执行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
1.2.if….else语句
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
1.3.if….else if…..else语句
它用于测试多个条件。 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
1.4.嵌套if语句
嵌套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
1.5.switch语句
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