JS 语句的定义

449 阅读4分钟

这是我参与11月更文挑战的第 14 天,活动详情查看:2021最后一次更文挑战

语句(一)

语句概述

描述:在 JavaScript中,语句使用分号(;) 进行分隔。可以在每行编写一条语句, 也可以在每行编写多条语句。

分类:

  • 条件语句: JavaScript解释器根据一个值判断是执行还是跳过指定语句。
  • 循环语句: JavaScript解释器根据一个值判断是否重复执行指定语句。
  • 跳转语句:使JavaScript解释器跳转到指定语句。

注意:

  1. 建议每行编写一 条语句, 便于提高代码的阅读性。
  2. JavaScript解释 器按照语句的编写顺序依次执行。

语句块

JavaScript中使用一对花括号({})表示一个语句块。使用语句块为语句进行分组,这样使语句的结构清晰明了。如下述代码:

{
	var s = '不一';
	console.log(s);
}
注意:
  1. 语句块的结尾不需要分号。
  2. 语句块中的行都有缩进,但并不是必需的。
  3. 语句中声明变量是全局变量。

空语句

空语句允许包含0条语句,JavaScript解释器执行空语句时,不会执行任何动作。

空语句如下述代码:

;

注意:如果有特殊目的使用空语句时,最好在代码中添加注释。这样可以更好地说明这条空语句是有用的


流程控制语句

JavaScript解释器按照语句的编写顺序依次执行,但也可以编写一些复杂的语句块,基本分为下述三种:

UDEzm6.png


条件语句

条件语句就是指通过判断指定的计算结果,来决定是执行还是跳过指定的语句块。

如果说JavaScript解释器是按照代码的“路径”执行的话,那条件语句就是这条路径上的分叉点,代码执行到这里时必须选择其中一条路径继续执行。

JavaScript提供了两种条件语句: if..else语句和switch...case语句。


if 语句

if 语句是条件判断语句,也是最基本的流程控制语句。

if语句的执行流程如下:

  1. 判断条件的结果是true还是false。
  2. 当结果为true时,执行下面的语句块。
  3. 当结果为false时,会跳过语句块,继续执行下面的代码。

UDZMb6.png

如下示例代码展示了if语句的用法:

var result = false;//boolean类型
if (result){
    console.log('这是if执行语句块');
}
console.log('这是if语句执行后的内容')

上述示例代码流程分析图如下所示:

UDKz2F.png


if...else语句

if...else语句是条件判断语句,但与if语句的执行流程并不相同。

UDMA56.png

if...else语句的执行流程如下:

  1. 判断条件的结果是true还是false。
  2. 当结果为true时,执行下面的语句块1。
  3. 当结果为false时,执行下面的语句块2。
  4. 继续执行语句块3。

如下代码展示了if...else语句的用法:

var result = false;
/*
    if...else语句
    if(条件表达式){
        语句块一
    }else {
        语句块二
    }
*/
if (result){
    console.log('语句块一');
}else{
    console.log('语句块二');
}
console.log('这是if 语句执行完毕后的内容。')

上述示例代码if...else语句执行流程图如下所示:

UDw5GQ.png


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)//语句块一

对比效果如下:

UDcVB9.png