Js中分支语句与循环语句
顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。
- 分支语句
分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。
(1)if语句
先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。
注意:表达式必须放在小括号之中。执行语句必须放在大括号内。if条件语句最后不用加分号。执行语句如果只有一句,那么大括号可以不写。但是推荐所有情况都加上大括号。
<script>
var m=3;
if (m === 3) {
console.log("you are right!");
}
/*语法:if(表达式){
语句;
}*/
</script>
(2)if else条件语句
判断表达式值的真伪,若结果为真则执行语句1,否则就执行语句2。
<script>
var m=1;
if (m === 3) {
console.log("you are right!");
}
else{
console.log("sorry!");
}
/*
if(表达式){
语句1;
}else{
语句2;
}
*/
</script>
(3) if else if else条件语句
当我们需要对一个变量判断多次的时候,我们就可以使用此结构进行判断。可以认为if elseif else结构是多个if else结构的嵌套。注意:else语句不能单独存在,他总是向上匹配离他最近的if语句。
<script>
var m=2;
if (m === 3) {
console.log("you are right!");
}
else if(m===2){
console.log("again!");
}
else if (m===1){
console.log("so far!");
}
else{
console.log("Sorry!");
}
/*
if(表达式1){
语句1;
}else if(表达式2){
语句2;
}else if(表达式3){
语句3;
}else{
语句4;
}
*/
</script>
(4)switch条件语句
switch语句和if语句表达的含义基本相同。
语法:switch(表达式){
case 结果1:{执行语句1};
break;
case 结果2:{执行语句2};
break;
default:{执行语句3};
}
上面语法结构表达的含义是:
a.判断表达式值是否和结果1相等,如果相等就执行语句1,然后跳出switch结构。
b.否则判断表达式值是否和结果2相等,如果相等就执行语句2,然后跳出switch结构。
c.如果表达式的值与上述case中的结果都不相等,那么直接执行default中的语句,然后结束switch结构。
注意:1)case语句和default语句中间的冒号不能省略,必须存在。2)break语句表示此判断结束,也必须存在。否则一次 判断结束会继续进行下一次判断,直到结束为止。
- 循环语句
一组被重复执行的语句称之为循环体 。能否继续重复的条件称之为循环的终止条件。 循环语句是由循环体及循环的终止条件两部分组成的。
(1)while循环
while循环包括一个循环条件和一段代码块。事先不知道要循环多少次,只要条件为真,就不断循环执行代码块,直到条件为假为止。
<script>
var i = 0;
while(i < 10){
console.log(i);
i++;
}
/*
语法:while (表达式) {
语句;
}
*/
</script>
规则:
- 因为while循环是先判断循环条件的,因此while循环的最少执行次数为0。
- while循环之所以能结束,是因为每次循环执行的过程中都会改变循环变量。
- 执行while循环之前,必须给循环变量设初值。
- 和if条件语句一样,如果while循环体中只有一条语句,那么大括号可以不写。(不建议)
- while循环结构末尾不需要加分号。
(2) do while循环
do while循环会先将循环体执行一遍后在进行判断。
<script>
var i = 0;
do{
console.log(i);
i++;
} while(i < 10);
/*
语法: do{
语句;
} while (表达式) ;
*/
</script>
规则:
- 因为do while循环是先执行循环体,因此do while循环不管循环条件真假,最少执行次数为1。
- do while循环之所以能结束,是因为每次循环执行的过程中都会改变循环变量。
- 如果循环体中只有一条语句,那么大括号可以不写。(不建议)
- do while循环结构末尾必须加分号!
(3)for循环
for循环分两种,一种叫做标准for循环,一种叫做快速遍历。而我们通常意义上的for循环指的是标准for循环。
<script>
for(var num = 0; num<10; num++){
console.log(num);
}
/*
语法: for(表达式1;表达式2;表达式3){
循环体;
}
*/
</script>
上述代码的含义是:
a.首先执行表达式1,进行循环变量num的初始化
b.然后判断表达式2结果是否为真,如果为真,执行循环体。否则就跳出循环。
c.当表达式2结果为真,并且循环体执行完毕后,执行表达式3,然后重复步骤b。
规则:
- for循环表达式1可以不写。如果不写表达式1,则需要在循环结构外为循环变量赋初值。
- for循环表达式2可以不写。如果不写表达式2,则表示循环条件恒成立。(死循环)
- for循环表达式3可以不写。如果不写表达式3,则需要在循环结构内部为循环变量增加改变条件。
- 根据以上三点,其实for循环三个表达式都可以不写。但是括号中的分号不能省略。
- 快速遍历
for循环快速遍历是一种快速浏览容器内元素的手段。快速遍历的最大特点是不管有多少个元素,一定都能循环一遍。
如下:创建一个局部变量num,然后从数组arr逐个取出每个元素下标赋值给num,并且打印这个元素的值。
- break和continue
break语句和continue语句都具有跳转作用,可以让代码不按原有的顺序执行。
break | continue |
用于跳出代码块或循环,循环终止 | 用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环,循环不终止 |
上一篇: JS_循环语句和分支语句
下一篇: js switch多分支语句