流程控制语句
流程控制语句
- Js中的程序是从上到下一行行执行的
- 通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行
- 语句的分类:
- 1、条件判断语句
- 2、条件分支语句
- 3、循环语句
条件判断语句
使条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则语句不执行。
if语句
- 语法一:
if(条件表达式) {
语句…
}
- if语句在执行时会先对条件表达式进行求值判断,如果条件表达式的值为true,则执行if后的语句。如果条件表达式的值为false则不会执行if后的语句
- if语句只能控制紧随其后的语句,如果希望if语句控制多个语句可以将这些语句统一放到代码块里面
- if后的一条语句时不需要加代码块,但是在开发中尽量写上代码块,即使if后面只有一条语句,结构更清楚
if(true)
alert("你猜我出来吗?");//执行弹出文字
if(false)
alert("你猜我出来吗?");//不执行
var a = 10;
if(a > 10)
alert("a比10大");//不执行
var a = 11;
if(a > 10)
alert("a比10大");//执行
var a = 10;
if(a > 10)
alert("a比10大");//不执行
alert("管不到我!");//执行
var a = 10;
if(a > 10){
alert("a比10大");//不执行
alert("管不到我!");//不执行
}
var a = 15;
if(a > 10 && a<= 20)
alert("a比10大且a小于20");//不执行
- 语法二:
if(条件表达式) {
语句…
}else{
语句…
}
- 当该语句执行时会对if后的条件表达式进行求值判断,如果为true则执行if后的语句,如果值为false则执行else后的语句
var a = 50;
if(a>60){
console.log("你已经退休了");
}else{
console.log("你还没退休");
}
- 语法三:
if(条件表达式) { 语句......
}else if(条件表达式){
语句......
}else if(条件表达式){
语句......
}else
- 当该语句执行时会从上到下依次对条件表达式进行求值判断,如果值为true则执行当前语句,如果值为false则继续向下,如果条件都不满足则执行最后的else语句
- 该语句中只会有一个代码块被执行,一但代码块被执行了,则直接结束语句
var a = 50;
if(a > 100){
console.log("活着挺没意思");
}else if(a > 80){
console.log("你也老大不小了");
}else if(a > 60){
console.log("你该退休了")
}else if(a > 40){
console.log("你已经中年了")
}else if(a > 18){
console.log("你已经成年了")
}else{
console.log("你还是个小孩")
}
条件分支语句
条件分支语句也叫作switch语句
- switch语句语法
switch(条件表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
break;
}
-
执行流程:
-
switch…case…语句在执行时依次将case后的表达式的值和switch后的条件表达式的值进行全等比较
-
如果比较结果为true,则从当前case处开始执行代码,当前case后的所有代码都会执行,所以语句后面需要break;这样可以确保只执行当前case后的语句,而不会执行其他的case
-
如果比较结果为false,则继续向下比较。
-
如果所有的比较结果都为false则执行default后面的语句
var a = 1;
switch(a){
case 1:
console.log("壹")
break;
case 2:
console.log("贰")
break;
case 3:
console.log("叁")
break;
default:
console.log("非法数字")
break;
}
var a = 1;
switch(true){
case a >= 60:
console.log("及格")
break;
default:
console.log("不合格")
break;
}
循环语句
通过循环语句可以反复执行一段代码多次
while循环
- 语法:
while(条件表达式){
语句...;
}
- while语句在执行时,先对条件表达式进行求值判断,如果值是true,则执行循环体,循环体执行完毕后,继续对表达式进行判断,如果为true则继续执行循环体,循环此操作…直到条件表达式判断为false则停止循环
var n = 1;
while(true){
alert(n++);
}//不停的弹出自增的数字;这样的叫做死循环,该循环不会停止除非关闭浏览器,开发慎用
- 可以用break跳出循环
var n = 1;
while(true){
alert(n++);
if(n>10){
break;//跳出循环
}
}
- 创建一个循环,往往需要三个步骤
//1、初始化一个变量
var i = 0;
//2、在循环中设置一个条件表达式
while(i < 10){
alert(1);
}
//3、定义一个更新表达式,每次更新初始化变量
while(i < 10){
alert(i);
i++;
}
do…while循环
- 语法:
do{
语句...;
}while(条件表达式)
- 执行流程:
do…while语句在执行时,会先执行循环体,循环体执行完以后,在对while后面的条件表达式进行判断,如果结果为true则继续执行循环体,如果结果为false则终止循环
- 实际上这两个语句相似,不同的是while是先判断再执行,do…while是先执行再判断(do…while可以保证循环体至少执行一次)
for循环
在for循环中,为我们提供了专门的位置来放三个表达式:
1、初始化表达式
2、条件表达式
3、更新表达式
- 语法:
for(初始化表达式;条件表达式;更新表达式){
语句...
}
for(var i = 0 ; i < 10 ; i++){
alert(i);
}
- 执行流程
1.执行初始化表达式,初始化变量。(初始化表达式只能执行一次)
2.执行条件表达式,判断是否执行循环,如果为true则执行循环,如果为false则终止循环。
3.执行更新表达式,更新表达式执行完毕继续重复第二步
- for循环中的三个部分都可以省略,也可以写在外部
var i = 0;
for(;i<10;){
alert(i++);
}//循环输出10次
for(;;){
"hello"
}//死循环输出hello
终止
break
- break关键字可以用来退出switch或循环语句(不能在裸if语句中使用)
- break关键字会立即终止离他最近的那个循环语句
for(var i=0 ; i<10 ; i++){
document.write(i);
break;
}
for(var i=0 ; i<10 ; i++){
document.write(i);
if(i>5){
break;//此时break作用于外部的for
}
}
- 可以为外循环创建一个label,来标识当前的循环 label:循环语句
- 使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的
outer:
for(var i=0 ; i<10 ; i++){
document.write(@i);
for(var j=0 ; j<10 ; j++){
document.write(i);
break outer;//直接结束外部循环
}
}
continue
- continue关键字可以跳过当次循环
- continue只能用于循环语句
- 同样continue也是默认对离他最近的循环起作用
for(var i=0 ; i<10 ; i++){
document.write(i);
if(i == 5){
continue;//输出了除了5的小于10的正整数(跳过了i=5的本次循环)
}
}
本文地址:https://blog.csdn.net/xing_kai_kai/article/details/107264900
推荐阅读
-
ContentType控制输出的类型是否区分大小写
-
CodeIgniter自定义控制器MY_Controller用法分析
-
mysql 开发基础系列20 事务控制和锁定语句(上)
-
C#中调用Windows系统服务exe程序的工具类与重启服务的流程
-
当页面引入百度地图时,谷歌浏览器的控制台会弹出一个警告信息
-
详解Android4.4 RIL短信接收流程分析
-
使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
-
Java微服务:dubbo-admin控制台是使用
-
asp.net core 使用 AccessControlHelper 控制访问权限
-
Mysql元数据如何生成Hive建表语句注释脚本详解