JavaScript学习—— 五、流程控制语句
1.条件语句
对不同的判断条件进行“true”或“false”为结果的判断,为不同情况执行不同的动作。
在 JavaScript 中,可使用以下条件语句:
- if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
- if…else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
- if…else if…else 语句- 使用该语句来选择多个代码块之一来执行
- switch 语句 - 使用该语句来选择多个代码块之一来执行
1.1 if语句
- 1.1.1 if语句 是最简单的一种分支语句,其语句结构如下:
if(表达式){
语句
}
示例
<script type="text/javascript">
var score = parseFloat(prompt("请输入你的成绩"));
if(0<=score && score<=100){
alert("输入的成绩有效")
}
</script>
- 1.1.2 if…else语句
if、else语句的结合可以进行两路分支的判断,指在表达式不满足条件时也可以执行对应语句。其语法结构如下:
if(表达式){
语句1
}else{
语句2
}
示例
<script type="text/javascript">
var score = parseFloat(prompt("请输入你的成绩"));
if(score >= 60){
alert("恭喜,你及格了!");
}else{
alert("很遗憾,你没有及格!");
}
</script>
- 1.1.3.if…else if语句
if…else if语句指当if语句不满足判断条件时,可以利用else if续写多个条件进行判断。其语法结构如下:
if (条件表达式1){
语句块1}
else if (条件表达式2) {
语句块2}
else if (条件表达式3){
语句块3}
……
else {
语句块n
}
示例
<!-- 用户输入成绩,
如果成绩大于等于85,那么提示优秀;
否则如果成绩大于等于70,那么提示良好;
否则如果成绩60~69,那么提示及格;
否则,不及格 -->
<script type="text/javascript">
var score = parseFloat(prompt("请输入成绩"));
if(score >= 85){
alert("优秀");
}else if(score >= 70){
alert("良好");
}else if(score >= 60){
alert("及格");
}else{
alert("不及格");
}
</script>
- 1.1.4.if语句的嵌套
if语句不仅可以单个使用还可以嵌套使用。其语法结构如下:
if (表达式1){
if(表达式2){
语句1
}else{
语句2
}
}else{
if(表达式3){
语句3
}else{
语句4
}
}
示例
<!-- 一个加油站为了鼓励车主多加油,所以加的多有优惠。
92号汽油,每升6元;如果大于等于20升,那么每升5.9;
97号汽油,每升7元;如果大于等于30升,那么每升6.95
编写JS程序,用户输入自己的汽油编号,然后输入自己加多少升,弹出价格。
-->
<script type="text/javascript">
//第一步,输入
var bianhao = parseInt(prompt("你想加什么油?填写92或者97"));
var sheng = parseFloat(prompt("你想加多少升?"));
//第二步,判断
if(bianhao == 92){
//编号是92的时候
if(sheng >= 20){
var price = sheng * 5.9;
}else{
var price = sheng * 6;
}
}else if(bianhao == 97){
//编号是97的时候
if(sheng >= 30){
var price = sheng * 6.95;
}else{
var price = sheng * 7;
}
}else{
alert("对不起,没有这个编号的汽油!");
}
alert("价格是" + price);
</script>
1.2 switch语句
switch语句是多路分支语句,与if…else if语句基本相同,其结构清晰,易于维护,语法结构如下:
switch(表达式) {
case 值1:
语句块1
break;
case 值2:
语句块2
break;
……
case 值n:
语句块n
break;
default:
语句块n+1
}
示例
<script type="text/javascript">
var d=new Date().getDay();
switch (d) {
case 0:
alert("今天是星期日")
break;
case 1:
alert("今天是星期一")
break;
case 2:
alert("今天是星期二")
break;
case 3:
alert("今天是星期三")
break;
case 4:
alert("今天是星期四")
break;
case 5:
alert("今天是星期五")
break;
case 6:
alert("今天是星期六")
break;
}
</script>
2.循环语句
循环语句指满足表达式反复执行一段代码。
JavaScript的循环语句包含:
- while语句 :
while 循环会在指定条件为真时循环执行代码块。只要指定条件为 true,循环就可以一直执行代码块。 - do…while语句 :
do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。 - for语句:循环可以将代码块执行指定的次数。
2.1.while语句
while语句是简单的循环语句,其基本语法结构如下:
while(条件表达式) {
循环语句体
}
示例
//1.for
var sum=0
for(var i=1;i<=100;i++){
sum=sum+i;
}
console.log(sum);
2.2.do…while语句
do…while语句是先执行循环体内容,再判断,这点和while语句正好相反,其基本语法结构如下:
do {
循环语句体
} while(条件表达式);
示例
//2.while
var sum=0
var i=1;
while(i<=100){
sum=sum+i;
i++;
}
console.log(sum);
2.3.for语句
for语句由三个表达式决定是否执行循环体内容,其基本的语法结构如下:
for(表达式1; 表达式2; 表达式3) {
循环体
}
其中,表达式1是初始化表达式,起到初始化变量的作用;表达式2是条件判断表达式,判断是否进入循环体;表达式3是步长表达式,指变量增加的值。
示例
//3.do while
var sum=0
var i=1;
do{
sum=sum+i;
i++;
}while(i<=100);
console.log(sum);
2.4.跳转语句
跳转语句包含:continue语句和break语句。两个语句都用于循环体中,且break语句还用于switch多分支语句。
break语句指退出本层循环或退出switch语句。
continue语句可以跳过本次循环后面的代码,重新开始下一次循环。
<script>
var sum=0;
for(var i=0;i<100;i++){
sum=sum+i;
if(i>=10)
break;
}
alert("1+2+…+10="+sum);
</script>
<script>
var sum=0;
for(var i=0;i<100;i++){
if(i==3||i==5)
continue;
sum=sum+i;
}
alert("sum="+sum);
</script>