# 流程控制
就是控制我们代码按照什么结构来执行
流程控制主要有三种结构,分别是
顺序结构,分支结构,循环结构这三种结构代表三种代码执行的顺序
顺序结果是程序中最简单最基本的流程控制,他没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这个样执行的
# 顺序流程控制
# 分支流程控制
由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果
if// if语法结构 如果if if(条件表达式){ //执行语句 }
switch
# 分支流程控制if语句
var year = prompt("input years"); if(year%4==0 && year%100==0){ alert("你输入的是闰年"); }else{ alert("你输入的是平年"); }
# 三元表达式
// <!-- 案例数字补0 --> var time = prompt("请输入0-59之间的数字"); var time2 = time <10 ? 0+time : time; alert(time2);
# 分支流程控制switch语句
switch(表达式){ case value1: break; case value2: break; case value2: break; default: 执行最后的语句; } //我们在开发里面 表达式我们写成变量 //我们num的值 和Case 里面的值 想匹配的时候是全等的 必须是值和数据类型一致才可与 num ===1 //break 如果当时和case 里面的没有break 则不会退出switch 则不会退出switch 是继续执行下一个case
# switch 语句和if else if 语句的区别
- 一般情况下他们2个语句可以相互替换
- switch case 语句通常处理case 为比较确定值的情况 而if else 语句更加灵活常用于范围判断(大于、等于某个范围)
- switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。 而if else 语句有几种条件,就得判断多少次
- 当分支比较少时,if else 语句的执行效率比switch 语句高
- 当分支比较多时,switch 语句的执行效率比较高,而且结构更清晰
# 循环
循环的目的: 在实际问题中,有许多剧只有规律性的重复操作,因此在程序中要完成这类操作就需要`重复执行某些语句
# for循环
在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件,由循环体及循环的终止条件组成的语句,被称之为循环语句
# 断点调试:
循环执行相同的代码
var num = prompt("input number"); for (var i =1; i<= num; i++){ console.log("hello"); }
for 循环还可以重复不同的代码,这主要是因为使用了计数器,计数器在每次循环的过程中都会有变化
# 双重for循环
//九九乘法表 var xin =''; for(var i =1; i<=9; i++){ for(var j =1 ; j<=i; j++){ xin += j + '*' + i + '=' + i*j + '\t'; } xin += '\n'; } console.log(xin);
# for循环小结
- for 循环可以重复执行某些 相同 的代码
- for循环可以重复执行些许不同的代码因为我们有计算器
- for 循环可以重复执行某些操作,比如算术运算符加法操作
- 随着需求增加,双重for循环可以做更多。更好看的效果
- 双重for循环 外层循环一次,内层for循环全部执行
- for 循环是循环条件和数字直接相关的循环
- 分析要比写代码更重要
- 一些核心算法想不到,但是要学会,分析它执行的过程
- 举一反三,自己经常总结,做一些相似的案例
# while循环
var msg = prompt('你爱我吗?'); while(msg !== '我爱你'){ msg = prompt('你爱我吗?') } alert('我也爱你啊!')
# do while循环
// 1 do while 循环 语法结构 do{ //循环体 }while(条件表达式){ // 2. 执行思路 与while 不同的地方在于 do while 先执行一次循环体 在判断条件如果 表达式结果为 // 真 则继续执行循环体 否则退出循环体 // 3.代码验证 }

# continue break
continue
// 案例 1-100 除了 能被7整除之外的整数和 var sum =0; for(var i =1; i<=100; i++){ if(i % 7 == 0){ continue; } sum += i; } console.log(sum);
break
// break for(var i =1 ;i<=5; i++){ if(i == 4){ break; } console.log('我正在吃第'+i+'个包子'); }