if语句用于需要根据逻辑条件执行不同语句的场景。当逻辑条件为真时,执行对应的一组语句,否则执行另一组语句(如果有的话)。
else部分也可能包含if语句。
if (condition1) {
// 语句1
} else if (condition2) {
// 语句2
} else {
// else语句
}
条件表达式可以是任何类型。但是对于boolean以外的类型,会进行隐式类型转换。例如0代表的就是false,1代表的就是true,以及任何非空列表也是true等。
switch语句和if语句类似,都是判断选择时候使用的。
switch (expression) {
case label1: // 如果label1匹配,则执行
// ...
// 语句1
// ...
break; // 可省略
case label2:
case label3: // 如果label2或label3匹配,则执行
// ...
// 语句23
// ...
break; // 可省略
default:
// 默认语句
}
如果switch表达式的值等于某个label的值,则执行相应的语句。
如果没有任何一个label值与表达式值相匹配,并且switch具有default子句,那么程序会执行default子句对应的代码块。
break语句(可选的)允许跳出switch语句并继续执行switch语句之后的语句。
如果没有break语句,则执行switch中的下一个label对应的代码块。所以,在我们实际代码过程中,break的有无一定要考虑清楚。
条件表达式由第一个表达式的布尔值来决定返回其它两个表达式中的哪一个。
condition ? expression1 : expression2
for语句会被重复执行,直到循环退出语句值为false。
for语句如下所示:
for ([init]; [condition]; [update]) {
statements
}
for语句的执行流程如下:
1、 执行init表达式(如有)。此表达式通常初始化一个或多个循环计数器。
2、 计算condition。如果它为真值(转换后为true的值),则执行循环主体的语句。如果它为假值(转换后为false的值),则for循环终止。
3、 执行循环主体的语句。
4、 如果有update表达式,则执行该表达式。
5、 回到步骤2。
使用for-of语句可遍历数组或字符串。示例如下:
for (forVar of expression) {
statements
}
只要condition为真值(转换后为true的值),while语句就会执行statements语句。示例如下:
while (condition) {
statements
}
如果condition的值为真值(转换后为true的值),那么statements语句会重复执行。示例如下:
do {
statements
} while (condition)
它和while语句类似,区别在于whil是先判断再运行,而do-while是先运行再判断。
使用break语句可以终止循环语句或switch。
如果break语句后带有标识符,则将控制流转移到该标识符所包含的语句块之外。
let x = 1
label: while (true) {
switch (x) {
case 1:
// statements
break label // 中断while语句
}
}
continue语句会停止当前循环迭代的执行,并将控制传递给下一个迭代。
上面的代码只显示了偶数,但是奇数的时候我们就进行下一次的循环。
我们还可以简写成下面的样子
throw语句用于抛出异常或错误:
throw new Error('this error')
try语句用于捕获和处理异常或错误:
try {
// 可能发生异常的语句块
} catch (e) {
// 异常处理
}
还可以和finally结合使用,这一部分我们后续内容再详细介绍。
好了今天的内容就是这些,我们下期见。
我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。