一、Javascript中的程序结构
1、顺序结构
- 没有任何结构就是顺序,所有语句从上到下,逐条执行
- 顺序结构主要包括注释语句、赋值语句、输入输出等语句
2、分支结构
- 单分支:要么做,要么不做;如果if(条件)条件为true,那么执行if(){}所有语句,否则直接跳过if结构 预备知识:{}叫做语句体,如果多条语句放到{}中就变成了一个整体(一组),要么都执行,要么都不执行。否则结构只能控制它下方的一条语句; 语法: if(条件){ 语句 .......; }
- 双分支或多分支 if…else if…else if….else if… switch
3.循环结构
- for循环
- while循环
- do…while循环
- for…in循环
二、分支结构
1、if分支
(1)单分支
语法:
if(条件){
语句;
}
条件成立,执行语句
var score1 = prompt("请输入您的js成绩"); //js
var score2 = prompt("请输入您的音乐成绩"); //音乐
//&& 的优先级大于 ||
if ((score1 > 90 && score2 > 80) || (score1 == 100 && score2 > 70)) {
alert("恭喜您,获得武功秘籍");
}
(2)双分支
语法:
if(条件){
语句1;
}else{
语句2;
}
条件成立,执行语句1,否则执行语句2
// 条件成立执行语句1,条件不成立执行语句2
var badegg = prompt("请输入坏鸡蛋数量");
if (badegg < 5) {
alert("忍一时风平浪静,吃");
} else {
alert("我胡汉三能受这气,退钱");
}
(3)多分支
语法:
if (条件1) {
语句1;
} else if(条件2) {
语句2;
}
......
else{
语句3;
}
条件1成立,执行语句1;
条件1不成立,判断条件2,条件2成立,执行语句2,
...
条件都不成立,执行else里的语句
var level = +prompt("请输入令狐冲的分数");
if (level > 100 || level < 0) {
alert("请输入有效数值")
} else if (level > 90) {
alert("出任武林盟主")
} else if (level > 80) {
alert("出任武当掌门")
} else if (level >= 60) {
alert("出任峨嵋掌门")
} else {
alert("我没有你这样不争气的徒弟,你走吧")
}
2、switch分支
语法:
switch(表达式){
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
...
default:
语句;
}
- switch后的表达式会和case后的表达式进行全等比较,
- 匹配到常量1时执行语句1,否则,表达式匹配到常量2执行语句2,....,
- 如果不加break,会把后面的值一起输出。
- 表达式的值不是上述所有值,则执行default后的语句。
注意:输入的类型,需和表达式的类型保持一致。
示例:
var day = +prompt("请输入一个数字(0-6):")
switch (day) {
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;
default:
alert("请输入有效数字")
}
三、循环结构
1、while循环
(1)语法
while(条件表达式){
语句...
}
(2)执行顺序
while在循环执行时,先对条件表达式进行求值判断。
如果表达式判定为true,则执行循环体(语句),
循环体执行完毕后,继续对表达式进行判断,
直到表达式判定为false,则终止循环。
(3)死循环
如果条件表达式写死为true时,会出现死循环现象,程序将一直执行,无法停下,造成内存资源的浪费,请特别注意。
(4)创建循环的三个步骤
1.创建一个初始化变量
var i=0;
2.在循环中设置一个条件表达式
while(1<10){
3.定义一个更新表达式,每次更新初始化变量。
i++;
}
(5)示例
var i = 1;
while (i <= 5){
document.write(i);
i++;
//输出1-5 5个数
}
2、do...while循环
(1)语法
do{
语句....
}while(条件表达式);
(2)执行顺序
do...while语句在执行时,会先执行循环体,do后的语句,
循环体执行完毕后,再对while后的条件表达式进行判断,
判定为真则执行循环,判定为假则结束循环。
(3)示例
//1+2+3+4+5+6+7+8+9+10=55 do..while方法
var i = 1;
var sum = 0;
do {
if (i != 10) {
document.write(i + "+")
} else {
document.write(i + "=");
}
sum = sum + i; //可以简写为sum+=i
i++
} while (i <= 10)
document.write(sum);
(4)while和do..while的区别
以上两个语句功能类似
不同的是while是先判断表达式再执行,
do...while是先执行语句,后判断,
do..while保证程序至少循环一次,而while不能保证。