- 流程控制:顺序结构、分支结构、循环结构
- 顺序流程控制
- 分支流程控制:if-else、三元表达式、switch语句
- 循环流程控制:for 、while、do-while
- break,continue
1. 流程控制
代码按照不同的顺序控制,叫流程控制
2. 顺序流程控制
程序按照代码先后顺序依次进行
3. 分支流程控制
根据不同条件,执行不同的路径代码(代码多选一)
<script>
var age = prompt('请输入你的年龄:')
if (age >= 18){
alert('你已成年')
}
else if(age >= 14){
alert('14岁以上未成年')
}
else{
alert('儿童')
}
</script>
3.1 三元表达式
由三元运算符组成的式子成为三元表达式
条件表达式1?表达式1:表达式2
var num = prompt('你的年龄')
var result = num > 18 ? '成年人' : '未成年'
alert(result)
3.2 分支流程控制switch语句
switch语句也是多分支语句,也可以实现多选一
switch(表达式1){
case value1:
执行语句1;
break
case value2
执行语句2;
break
default:
执行最后的语句
}
var score = prompt('输入您的成绩,查看等级ABCD')
switch(score){
case score >= 90:
alert('等级为A')
case score >= 70:
alert('等级为B')
case score >= 60:
alert('等级为C')
default:
alert('等级为D')
}
4. 循环
重复执行某些代码
断点调试,观察程序的运行过程:F12->sources->断点->刷新->F11下一步
watch监视,可以看变量变化
4.1 for循环
例子1:累加和
<script>
//1~100累加
var sum = 0
for(var i = 1 ; i <= 100 ; i++){
sum += i
}
console.log('1-100累加和为' + sum);
//1~100偶数和奇数和
var even = 0 , odd = 0
for(var j = 1 ; j <= 100; j++){
if(j % 2 == 0)
even += j
else if(j % 2 != 0)
odd += j
}
console.log('1-100偶数累加和为' + even + '\n' + '1-100奇数累加和为' + odd);
</script>
例子二,根据提示框输入值进行计算
console.log('1-100偶数累加和为' + even + '\n' + '1-100奇数累加和为' + odd);
var totalStu = prompt('请输入班级总人数:'),stuTotalScore = 0 , stuAvgScore = 0;
for(i = 1 ; i <= totalStu ; i++){
temp = prompt('第'+i+'个学生成绩')
stuTotalScore += Number(temp);
}
stuAvgScore = stuTotalScore/totalStu
alert('学生总成绩'+stuTotalScore+'平均成绩'+ stuAvgScore)
例子三,输出⭐⭐⭐⭐:追加字符串方式输出同样的字符
//追加字符串
var star = ''
for(i = 0 ; i <= 5 ; i++){
star += '⭐'
}
console.log(star)
//直接重复字符会折叠
for(i = 0 ; i <= 5 ; i++){
console.log('⭐')
}
输出结果为:
4.2 for循环嵌套
实例:输出倒三角星星
//倒三角星星
str = ''
for(i=1;i<=5;i++){
for(j=5;j>=i;j--){
str += '⭐'
}
str += '\n'
}
console.log('\n'+str)
输出:
4.3 while循环
优势在于,可以做更复杂的条件判断
4.4 do while循环
执行思路:先做do里面循环体,再进行一次循环判断,满足条件进行,不满足退出
do-while循环体至少会执行一次
5. continue、break
continue跳出本次循环,继续下一次循环
break退出整个循环