这是我参与11月更文挑战的第 14 天,活动详情查看:2021最后一次更文挑战
语句(一)
语句概述
描述:在 JavaScript中,语句使用分号(;) 进行分隔。可以在每行编写一条语句, 也可以在每行编写多条语句。
分类:
- 条件语句: JavaScript解释器根据一个值判断是执行还是跳过指定语句。
- 循环语句: JavaScript解释器根据一个值判断是否重复执行指定语句。
- 跳转语句:使JavaScript解释器跳转到指定语句。
注意:
- 建议每行编写一 条语句, 便于提高代码的阅读性。
- JavaScript解释 器按照语句的编写顺序依次执行。
语句块
JavaScript中使用一对花括号({})表示一个语句块。使用语句块为语句进行分组,这样使语句的结构清晰明了。如下述代码:
{
var s = '不一';
console.log(s);
}
注意:
- 语句块的结尾不需要分号。
- 语句块中的行都有缩进,但并不是必需的。
- 语句中声明变量是全局变量。
空语句
空语句允许包含0条语句,JavaScript解释器执行空语句时,不会执行任何动作。
空语句如下述代码:
;
注意:如果有特殊目的使用空语句时,最好在代码中添加注释。这样可以更好地说明这条空语句是有用的
流程控制语句
JavaScript解释器按照语句的编写顺序依次执行,但也可以编写一些复杂的语句块,基本分为下述三种:
条件语句
条件语句就是指通过判断指定的计算结果,来决定是执行还是跳过指定的语句块。
如果说JavaScript解释器是按照代码的“路径”执行的话,那条件语句就是这条路径上的分叉点,代码执行到这里时必须选择其中一条路径继续执行。
JavaScript提供了两种条件语句: if..else语句和switch...case语句。
if 语句
if 语句是条件判断语句,也是最基本的流程控制语句。
if语句的执行流程如下:
- 判断条件的结果是true还是false。
- 当结果为true时,执行下面的语句块。
- 当结果为false时,会跳过语句块,继续执行下面的代码。
如下示例代码展示了if语句的用法:
var result = false;//boolean类型
if (result){
console.log('这是if执行语句块');
}
console.log('这是if语句执行后的内容')
上述示例代码流程分析图如下所示:
if...else语句
if...else语句是条件判断语句,但与if语句的执行流程并不相同。
if...else语句的执行流程如下:
- 判断条件的结果是true还是false。
- 当结果为true时,执行下面的语句块1。
- 当结果为false时,执行下面的语句块2。
- 继续执行语句块3。
如下代码展示了if...else语句的用法:
var result = false;
/*
if...else语句
if(条件表达式){
语句块一
}else {
语句块二
}
*/
if (result){
console.log('语句块一');
}else{
console.log('语句块二');
}
console.log('这是if 语句执行完毕后的内容。')
上述示例代码if...else语句执行流程图如下所示:
if语句和if...else语句的注意事项
/*
if语句与if...else语句
*对应的语句块的大括号"[}"——允许被省略的
*前提——当前语句块中只存在一条语句时
*省略大括号"{}"时,JavaScript默认认为后面的第一条语句是被控制的语块内容
*结论——建议按照语法规则编写
*/
var result2 = false;
if (result2)
console.log('这是if执行语句块1');
console.log('这是if执行语句块2');
console.log('这是if执行语句块3');
console.log('这是if执行语句块后的内容');
/*
去掉大括号后的输出结果:
这是if执行语句块2
这是if执行语句块3
这是if执行语句块后的内容
*/
上述示例代码结果可以看到:语句块2和语句块3被执行了,所以可以得知:当语句块中只有一条语句时,大括号才可以被省略。
if...else语句与条件运算符
如下示例代码展示了对比结果:
var boo=true;
if (boo) {
console.log("语句块一");
}else{
console.log('语句块二');
}//语句块一
var result = boo ? '语句块一':'语句块二'
console.log(result)//语句块一
对比效果如下: