js有三大控制结构:顺序结构,选择结构,循环结构
一、顺序结构
顺序结构是指程序中一段代码按照自上而下的顺序执行。
二、选择结构
1.if-else
细化分为:
- 简单if:if-else
<script type="text/javascript"><script type="text/javascript"> if(num>=5){ document.write("奖励一瓶咖啡"); }else{ document.write("扔到乌克兰"); } </script>
- 嵌套if
<script type="text/javascript"><script type="text/javascript"> var password=prompt("请设置您的密码"); // 判断密码的长度,如果不是6位,否则 if(password.length!=6){ alert("请输入6位的数字密码"); }else{ // 如果密码是非数字,否则是数字 if(isNaN(password)){ alert("密码必须要是数字"); }else{ alert("密码设置正确"); } } </script>
- 多个if:条件不互斥,可能执行多个
<script type="text/javascript"><script type="text/javascript"> //例:输入3个数,按从小到大排序 var a=5,b=2,c=9; var temp; if(a>b){ temp=a; a=b; b=temp; } if(a>c){ temp=a; a=c; c=temp; console.log(a,c); } if(b>c){ temp=b; b=c; c=temp; } console.log(a,b,c); </script>
- 多重if:if-else if:适用于区间条件,条件互斥,有顺序要求,只执行一个
<script type="text/javascript"><script type="text/javascript">
//如果成绩60分以上:及格;70分以上:一般;80分以上:良好;90分以上:优秀
var store=prompt("请输入成绩");
if(store>=90){
document.write("优秀");
}else if(store>=80){
document.write("良好");
}else if(store>=70){
document.write("一般");
}else if(store>=60){
document.write("及格");
}else{
document.write("不及格");
}
</script>
注意:
多重if自上而下执行,有顺序要求,条件是互斥的,只会执行一个
多个if,条件不互斥,可能执行多个
2.switch-case
适用于判断等值条件
语法结构:
switch(num){
case num:
语句1;
break;
case num2:
语句2;
break;
default:
语句;
}
代码如下(示例):
<script type="text/javascript"><script type="text/javascript">
var store=prompt("请输入成绩:");
switch(store){ //switch判断store结果
case "60": //store==60
document.write("及格");
break; //中断代码继续执行,跳出switch
case "70":
document.write("一般");
break;
case "80":
document.write("良好");
break;
default:
document.write("优秀");
break;
}
</script>
三、循环结构
写循环要牢记,循环三要素:循环变量初始化 循环条件 改变循环变量
1.for
求1-100的和
var sum=0;
for(var n=1;n<=100;n++){
sum=sum+n;
}
document.write(sum);//5050
2.while
求 1-100的偶数和
var i=1;
var sum=0;
while(i<=100){
if(i%2==0){
sum=sum+i;
}
i++;
}
document.write(sum+"<br>");
3.do while
//连续录入学生成绩,输入“q”则系统退出;
var store;
do{
store=prompt("请输入成绩:");
console.log(store);
}while(store!="q");
for,while,do-while的区别
for:只适合于循环次数固定的操作
while:先判断后执行,可能一次都不执行
do-while:先执行后判断,至少执行一次
补充:break和continue区别
break:跳出循环,
continue:结束本次循环继续执行下一次循环
<script type="text/javascript">
for(var i=1;i<=5;i++){
document.write("跑了"+i+"圈<br />");
//跑完第三圈结束
if(i==3){
break;//跳出循环
}
}
for(var i=1;i<=5;i++){
//跑到第三圈休息,接着继续跑
if(i==3){
continue;//结束本次循环,继续进行下一次循环
}
document.write("跑了"+i+"圈<br>");
}
</script>