JavaScript的基础流程语句+部分案例
1.流程控制语句
自上而下,逐行执行
语句分类:
1.条件判断语句
2.条件分支语句
3.循环语句
2.条件判断语句(if)
先进行判断,如果条件成立才会执行语句
语法一:
if(条件表达式){
语句。。。(if语句只能控制紧随其后的语句)
语法二:
if(条件表达式){
语句。。。
}else{
语句。。。
}
ture执行if后的语句,而false执行else的语句
语法三:
自上而下,判断执行,该语句就一个会执行,一旦执行,就会结束语句
if(条件表达式){
语句。。。
}else if(条件表达式){
语句。。。
}else{
语句。。。
}
3.条件分支语句(switch)
在执行一次时会将case后面的表达式的值和switch候的条件表达式进行全等比较
如果比较结果为true,则从当前case处开始执行
当前case的后所有代码都会执行,在后面加break确保只执行当前case后的语句
如果结果为false则会向下比较
如果所有比较结果都为false,则执行default候的语句
语法
switch(条件表达式){
case 表达式:
语句。。。
break;
case 表达式:
语句。。。
break;
default:
语句。。。
dreak;
}
4.循环语句(while)
可以对一段代码反复执行
1.while循环
语发:
while(条件表达式){
语句。。。
}
while语句在执行时,先对条件表达式求值判断
如果为true,则继续执行循环体,
如果值为false,则终止循环
var n = 1;
while(ture){
(这种条件表达式写死为true的循环叫做死循环)
alert(n++);
}
创建循环的步骤:
1.创建一个初始化变量
var i = 0;
2.在循环中设置条件表达式
while(i < 10){
alert(i);
3.定义一个更新表达式
i++;
}
2.do…while循环
和while有所相同也有所不同
do…while是先执行一次再开始条件判断
语法:
do{
语句。。。
}while(条件表达式)
do…while语句在执行时会先执行循环题,如果结果为true,会再继续执行,执行完会再判断,结果为false则终止循环
while和do…while的区别:
1.while会先进行条件判断,满足执行,不满足就不执行了。
2.但是do…while循环是,先不管条件,先执行一次,然后再开始进行条件判断。
3.for循环
在for循环中有专门的位置放三个表达式
1.初始化表达式
2.条件表达式
3.更新表达式
语法:
for(1初始化表达式,2条件表达式,4更新表达式){
3语句....
}
执行流程:
1.执行初始化表达式,初始化变量
2.执行条件表达式,判断是否执行循环
如果为true,执行循环3
如果为false,终止循环
4.执行更新表达式,更新表达式执行完毕,继续重复2
for循环中如果不写表达式,只写两个;
此时的循环会是一个死循环一直执行
for(;;){
alert(“hello”);
}
经典案例:水仙花数
// 打印所有三位数
for(var i=100; i<=999; i++){
// 获取i的百位,十位,个位的数字
// 百位
var bai = parseInt(i/100);
// 获取十位数字
var shi = parseInt((i-bai*100)/10);
// 获取个位
var ge = i % 10;
if(bai *bai *bai + shi *shi *shi +ge *ge *ge == i){
console.log(i);
}
}
for循环嵌套
嵌套循环的概述:嵌套循环是在一格循环语句中
再定义出循环语句的语法结构,比如在for循环语句中,可以再嵌套一个for循环
for循环输出图形五行五列*
// for循环执行几次高度就是多少
for(var i = 0 ; i < 5; i++){
// 内部创建一个循环,控制宽度
// 外部循环执行一次,内部循环执行五次
for(var j = 0 ; j < 5; j++){
document.write("*");
}
// 输出一个换行
document.write("<br />");
}
———————————————————————————————————————
输出图形*直角三角形
// for循环执行几次高度就是多少
for(var i = 0 ; i < 5; i++){
// 内部创建一个循环,控制宽度
// 外部循环执行一次,内部循环执行五次
for(var j = 0 ; j < i + 1;j++){
document.write("*");
}
// 输出一个换行
document.write("<br />");
}
———————————————————————————————————————
输出图形*倒立直角三角形
// for循环执行几次高度就是多少
for(var i = 0 ; i < 5; i++){
// 内部创建一个循环,控制宽度
// 外部循环执行一次,内部循环执行五次
for(var j = 0 ; j < 5-i; j++){
document.write("*");
}
// 输出一个换行
document.write("<br />");
}
———————————————————————————————————————
输出图形*金字塔
for(var i=0;i<8;i++){
for(var k=0;k<8-i-1;k++){
document.writeln("  ");
}
for(var j=0;j<=(2*i-1)+1;j++){
document.writeln("*");
}
document.writeln("<br/>");
}
———————————————————————————————————————
输出99乘法表
for(var i = 1 ; i<= 9; i++){
for(var j = 1 ; j <= i; j++){
document.write(j+"*"+i+"="+i*j+" ");
}
// 输出一个换行
document.write("<br />");
}
continue、break
continue终止当前的循环 但不跳出循环 继续往下执行循环语句
continue默认只对离他最近的循环起作用
跳过不跳出
for(var i=0;i<5;i++){
if(i%2==0){
continue;
}
console.log(i);
}// 1 3 5
break可以用来终止循环
if中不能使用break和continue
break能立即终止离他最近的循环
break直接跳出当前循环 不再执行循环体中的其他语句 继续执行方法中循环的语句
for(var i=0;i<5;i++){
if(i%2!==0){
break;结束语句
}
console.log(i);
}// 0
for和while区别
for:适合已知循环次数的循环体
while:适合未知循环次数的循环体