javascript 流程程序顺序和分支结构
01、单分支
【格式】
if(判断条件){
执行语句;
}
[过程]先去判断括号中的判断条件,如果成立,回去执行紧跟着if语句的一
条语句。否则就不会去执行紧跟着if语句的一条语句。
[注] if语句,只能决定,紧跟着if语句后的一条语句是否执行。
[注]在JS中, 我们把{ }括起来的所有语句都当做是一条语句对待。
[注]执行语句,一定要比if判断条件缩进四个空格。
var num = parseInt(prompt());//prompt()在弹出框中输入
if (num % 2 ==0){
console.log('偶数');
}else{
console.log('奇数');
}
02、双分支语句
【格式】
if (判断条件/表达式){
执行语句1;
}else{
执行语句2;
}
[规则]当括号内的判断条件/
表达式结果成立的时候,执行执行语句1,否则执行执行语句2;
03、多分支语句
【格式】
if(表达式1){
执行语句1;
}else if(表达式2){
执行语句2;
}else if(表达式3){
执行语句3;
}
else{
执行语句n;
}
【规律】从上往下,满足哪个条件就执行对应的语句,都不满足时,执行最后的
else的语句, 只能进入其中之一.
注意:嵌套if时,最好不要超过三层
内层if~else缩进对齐
else要最近的if配对题目1:交换两个数后输出
var num1 = 20var num2 = 10;
var tep= num1;
num1 = num2;
num2 = tep ;
alert("num1="+num1+",num2="+num2);
题目2;判断一个数是否是偶数
var num = 10 ;
if(numg 2 == 0)
alert("这是:个偶数");
alert("执行语句");
var num = 9;
if(num%2==0){
alert(1);
alert("这是一个偶数");
alert(2) ;
}
题目3;判断一个数是否是偶数
var num = 9;
if(num号2 == 0){
alert("这是一个偶数");
}else{
alert("这是一个奇数");
}
题目4:比较两个数大小
var num1 = 10;
var num2 = 20;
var max = null; //如果在声明变量的时候,没有赋值,那么般情况下, 将当
前这个变量的值设置成null。
if(num1 > num2){
max =
num1 ;
}else{
max =
num2 ;
}
alert("两个数中的最大数是:”
+ max);
题目5:判断一个年份是闰年还是平年;
闰年条件:
1、可以被400整除
2、可以被4整除,但是不可以被100整除
var year = 2020;
if(year%400==0||year%4==0&&year%100!=0){
alert("这是一个闰年" );
}else{
alert("这是一一个平年");
}
题目6:
var y=null;
var x = 11;
if(x<1){
y = x;
}else if(x >= 1 && x < 10){
y = 2*x+1;
}else{
y = 5 * x - 17;
}
alert(y);
题目7:成绩判定
大于85优秀(95~100奖励1000块,90~95奖励800块85~90奖励300块)
大于等于75小于等于85良好
大于等于60小于75及格
小于60 不及格
var result = 90;
if(result > 85){
alert("优秀");//条件语句再嵌套if条件语句
if(result >= 95 && result <= 100 ){
alert("奖励100块");
}else if(result >= 90&& result <95){
alert("奖励800块");
}else{
alert("奖励300块")
}
}else if (result >= 75 && result < 85){
alert("良好");
}else if(result >= 60 && result < 75){
alert("及格");
}else{
alert("不及格");
}
1 // 打印乘法口诀 2 for(var i = 1;i <= 9;i++){ 3 for(var j = 1;j <= i;j++){ 4 document.write(j+" * "+i+" = "+j*i+" "); 5 } 6 document.write("<br/>"); 7 }
04、多分支语句
switch(表达式){
case 常量1:
语句1;
back;
case 常量2:
语句2;
back;
case 常量3:
语句3;
back;
default:
如果上述语句都不成立,则执行这里
brick;
}
【规律】表达式的结果等于哪个case的常量,则执行其后的语句,执行完
break后,就跳出switch结构。如果都不满足,则执行Default语句。
【注】1、Break一定不能省略的,如果省略会造成事件传穿透。
2、Default,一般情况下不要省略,为了避免语句歧义。
var grade = "A";
switch(grade){
case "A":
alert("80~100");
break;
case "B":
alert("70~79");
break;
case "C":
alert("60~69");
break;
case "D":
alert("<60");
break;
case "A":
alert("error");
break;
}
05、三且运算符/条件运算符
【格式】
表达式1 ?表达式2 :表达式3;
【执行过程】先求解表达式1,若为非0 (真) ,则求解表达式2,若表达式1为0
(假),则求解表达式3.
//求两个数的最大数
var num1=20;
var num2=10;
var max = num1 > num2 ? num1 : num2;
alert (max) ;//20
06、while循环
【格式】
while(表达式){
循环语句;
}
【注】
1、先判断表达式,表达式成立执行循环语句。
2、循环条件中使用的变量(循环变量)需要经过初始化。
3、循环体中,应有结束循环的条件,否则会造成死循环
4、循环体中,可以写若干合法的js代码,包括if,也可以再套个循环。
//累加1~100的和
示例:
1、打印100以内7的倍数
2、打印100以内的奇数
3、打印100以内所有偶数的和
4、打印图形
**********
***********
***********
var i = 1;
var sum = 0;
while(i<=100){
sum += i;
i++;
}
alert(sum);
var i = 1;
while(i<=100){
if( i % 7 == 0){
document.write(i+"<br />");
}
i++;
}
var i = 1;
while(i<=100){
if( i % 2 != 0){
document.write(i+"<br />");
}
i++;
}
var i = 1;
var sum = 0;
while(i<=100){
if( i % 2 == 0){
sum += i;
}
i++;
}
alert(sum);//2550
ar i = 0;
while(i<40){
if( i % 10 == 0){
document.write("<br />");
}
document.write("*");
i++;
}
07、do~~while循环
【格式】
do{
循环语句;
}while(表达式);
【注】
(1)最后的分号不要忘记。
(2)循环条件中使用的变量需要经过初始化。
(3)循环体中,应有结束循环的条件,否则会造成死循环。
例:1累计100和
var i = 1;
var sum = 0;
do{
sum += i;
i++;
}while(i<101);
alert(sum);//5050
while与do_while循环的区别:
(1)While循环是先判断表达式,然后再去去执行循环语句。
(2)do-while循环,先执行一次循环语句,然后再执行判断下一次表达式。
例:
do{
alert(1);
}while(false);
08、for循环
【格式】
for(表达式1;表达式2;表达式){
循环语句;
}
【执行顺序】
(1)先求解表达式1 (只求一 次)
(2)求解表达式2,若其值为真(非0)
则执行for语句中的循环语句,然后再去求解表达式3;
在求解表达式2,若为假,则结束循环。
【注】一般情况下,我们使用for循环比较多。
例:
var sum = 0;
for(var i=0;i<101;i++){
sum += i;
}
alert(sum);
09、循环的嵌套
【注】一般情况下,循环i从0开始。
循环变量命名 i j k
例:
* 0
** 00
*** 000
**** 0000
***** 00000
(1)
for(var i = 0;i < 5;i++){ //第一层循环,决定打印行数
for(var j = 0;j <=i;j++){
document.write("*");//每一行答打印几个*,对应的行和打印的*一致。
}
document.write("<br />");
}
(2)
for(var i = 0;i < 5;i++){
for(var k = 0;k < 5 -i - 1;k++){
document.write("$;");//打印空格 
}
for(var j = 0;j < i;j++){
document.write("O");
}
document.write("<br />");//打印换行
}
10、break语句
(1)在swith语句中使流程跳出switch。
(2)在循环语句中使流程跳出当前的循环。
for(var i = 0;i < 100;i++){
if((i+1)%5==0){
break;
}
document.write((i+1)+"<br />");//1 2 3 4
}
11、continue语句
【注】只能在循环语句中使用,使本次循环结束。即跳过循环体中
下面尚未执行的语句,接着进行下次是否执行循环的判断。
for(var i = 0;i < 100;i++){
if((i+1)%5==0){
continue;
}
document.write((i+1)+"<br />");//1 2 3 4 6........99
}