javascript的流程控制、分支结构
if else if 分支语句
if (表达式1){}
else if(表达式2){}
else if(表达式3){}
else{}
//注意最后一句没有判断表达式
案例: 比较三个数的大小
var x = 64,y=32,z=56,max;
//假设第一个数是最大值,让后面的数依次与最大值比较;如果比最大值大,就将值赋给max,max里面一定是最大值。
var max= x;
if(y>max){
max=y
}
//当前max的值为前面两者比较中的最大值。联想冒泡排序法。两两比较,取其一再往后两两比较。
if(z>max){
max=z
}
console.log('最大值:',max)
switch的注意事项
var num = 1;
switch(num){
case 1:
console.log(1);
case 2:
console.log(2);
case 3:
console.log(3);
break;
default: break;
}
- 开发里面表达式不能写成变量
- num的值和case里面的值相匹配的时候是全等,必须是值和数据类型一致才可以 num===1;
- break 如果当前的case里面没有break,则不会退出switch,继续执行case;【穿透】
switch穿透案例:
//输入年份和月份,显示该年当月的天数,利用case穿透简化代码。
//分析:var year=2022
// var month=1
var year = parseInt(prompt('输入年份'))
var month = parseInt(prompt('输入月份'))
var z = year % 4;
var m = year % 100;
var n = year % 400;
var day = 1;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
// console.log('31天')
day = 31
break
case 4:
case 6:
case 9:
case 10:
// console.log('30天')
day = 30
break
case 2:
if ((z == 0 && m != 0) || n == 0) {
// console.log('29天');
day = 29
} else {
// console.log('28天')
day = 28
}
break
}
console.log(day)
\
循环
for循环
案例:
//弹出输入框的输入的总人数
//依次输入学生成绩,
//累加求总成绩
var num=prompt('请输入班级总人数:');
var sum=0;//求和的变量
var average=0; //求平均值的变量
for(var i=1;i<=num;i++){
var score=prompt('请输入第' + i + '个学生成绩');
//prompt取出来的数据类型是字符
sum =sum +parseFloat(score);
}
average =sum/num;
alert('班级总的成绩是' +sum);
alert('班级的平均分是:' +average);
while循环 先判断,再执行
do while 循环 先执行,再判断
区别 :while与do while相对for 可以做更复杂的判断
断点调试
- 浏览器中按F12-->sources-->找到要调试的文件
- 点击行号,设置断点,
- 刷新浏览器,完成断点设置
- Watch:监视,可以监听变量值的变化
- F11:程序单步执行,一行一行的让程序执行。