JS中的流程控制语句:
顺序结构
从上到下依次执行 代码的先后顺序对结果又直接影响
到目前为止 我们的编码都是顺序结构
console.log("好希望自己彩票中奖:"+a+"万!");
var a=100; //代码的顺序对结果又直接影响
选择结构
编程数据考虑问题:
正确数据
错误数据
边界数据
if语句 switch语句
if语句:
格式1:
if(表达式){
语句体;
}
首先运行表达式 看其结果是转换成true还是false
如果是true则执行语句体
如果是false则不执行语句体
继续执行后面顺序代码
注意点:
if语句只能控制大括号里面的语句体
语句体可以是一句 可以是多句
格式2:
if(表达式){
语句体1;
}else{
语句体2;
}
首先运行表达式 看其结果是转换成true还是false
如果是true 则执行语句体1
如果是false则执行语句体2
继续执行后面顺序代码
格式3:
if(表达式1){
语句体1;
}else if(表达式2){
语句体2;
}else if(表达式3){
语句体3;
}
.
.
.else if(表达式n){
语句体n;
}else{
语句体n+1;
}
首先运行表达式1 看其结果是转换成true还是false
如果是true 则执行语句体1
如果是false
则继续判断表达式2
如果是false 继续向下判断
直到表达式n 都是false
执行else的语句体n+1
var score=-50;
/* if(a>60){
console.log("买遥控汽车!!!");
}*/
/*if(score>=60){
console.log("买遥控汽车玩儿!!!");
}else{
console.log("买一个鸡毛掸子体验一下!");
}*/
if(score==100){
console.log("海洋馆海底5日游!");
}else if(score>=90 && score<100){
console.log("买一套5面模拟试题去做!!顺带着去北京玩一圈");
}else if(score>=70 && score<90){
console.log("买一个豪华版文具盒!");
}else if(score>=60 && score<70){
console.log("老老实实在家呆着 ,还能玩会手游!");
}else if(score>=0 && score<60){
console.log("抓挠和鸡毛掸子齐飞!!!");
}else{
console.log("数据出现错误,请找老师重新登记!");
}
/*
编程数据考虑问题:
正确数据
错误数据
边界数据
*/
console.log("继续准备下一次考试");
switch分支语句:
就是用来匹配固定值
格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
.
.
.
case 值n:
语句体n;
break;
default:
语句体n+1;
break;
}
运算过程:
首先运行表达式看其结果
拿着结果去下面的case分支去匹配
匹配到哪一个分支就执行哪一个分支的语句
然后switch语句 继续后面代码
如果所有分支都不匹配
则执行default n+1语句 switch结束
var key=1;
switch(key){
case 1:
console.log("打开一号宝藏");
break;
case 2:
console.log("打开二号宝藏");
break;
case 3:
console.log("打开三号宝藏");
break;
case 4:
console.log("打开四号宝藏");
break;
default:
console.log("谢谢惠顾!");
break;
* 注意点:
* case分支不能重复 重复了 也只会找到第一个
* break是干嘛的? 能不能省略?
* 不能省略 否则case穿透
* break是用来终止switch语句的 一旦省略 那么会匹配多个case 结果不是我们想要的
*
* default能不能省略?
* 能 但是一般不建议 除非是页面单选题 固定选项
*
* default一定要在最后么? 不一定非得在最后
* 但是一般按照正常逻辑结构 放最后 最好
*
*
* if语句和switch的区别:
*
* switch:
* 只能做固定值的匹配
*
* if:
* 能匹配固定值
* 还能匹配范围值 switch不可以
* 选项很少的 建议使用if
循环结构
循环结构语句: for循环 while循环 do...while循环(了解) 循环语句就是反复执行同一块代码 for循环格式: for(初始化变量;循环判断条件;控制条件语句){ 循环体语句(可以是一句 可以是多句); } 执行流程: 1.先执行初始化变量 创建出来一个循环中使用的变量 2.执行循环判断条件 看其结果是true还是false 3.如果是false则循环停止运行 4.如果是true 则执行循环体语句 5.执行控制条件语句 再次回到第"2"步 继续执行 直到 判断条件为false循环 停止
for(var i=0;i<10;i++){
console.log("Hello World!!!---->"+i);
}
console.log("总算执行到我了....");
for循环的另类写法(很少用)
/* var i=0;
for(;i<10;){
console.log("Hello World!!!---->"+i);
i++;
while循环: 格式: 初始化变量; while(循环判断条件){ 循环体语句; 条件控制语句; }
var i=0;
while(i<10){
console.log("你好:"+i);
i++
}
console.log("总算到我了");
while循环和for循环有什么区别: for循环偏向计数执行 while循环偏向一种状态改变循环
do...while循环 do{ 循环体语句; 条件控制语句 }while(循环判断条件); 无论条件为如何 都会先执行一遍 再判断
var i=10;
do{
console.log("你好:"+i);
i++;
}while(i<10);
console.log("总算到我了");
双重for循环 循环嵌套的执行流程: 外层循环执行一次 内层循环执行一轮
for(var i=0;i<5;i++){
console.log("外层循环:----------------->"+i);
for(var j=0;j<5;j++){
console.log("内层循环:++++++"+j);
}
}
break 和 continue的使用
<script>
for(var i=0;i<10;i++){
if(i==5){
// break;//中止 中断 表示中止当前循环
continue; //跳出本次循环 进入下一次循环
}
console.log("你好:"+i);
}
console.log("总算到我了...");
</script>