1 js的程序结构
- 基本结构(顺序执行)
- 分支结构(分支语句)
- 循环结构(循环语句)
2 分支语句
if
(判断条件){
只有当if
中的判断条件为true
的时候,{}
中的代码才能被执行,如果判断条件不为true
,则跳过{}
中的代码,程序继续往下执行
}
if
后面()中的判断条件,不管里面的表达式有多复杂,返回的值永远只有true或者false
if(判断条件){
如果判断条件为true,则执行这里的代码
}else{
如果判断条件不为true,则执行else中的代码
}
if
可以单独使用,else
必须结合if
一起使用。else
指的是除了满足if
条件之外的所有条件
2.1 分支语句的级联语句
if(判断条件){
}else if(判断条件){
}else{
}
在使用
if语句
的时候,else
的范围有时候会比较大,因此可以使用else if
对具体的情况进行细分,else if
可以根据情况设置多个
3 switch语句
switch
语句,特点是,默认贯穿整个结构,可以使用关键字break
阻止贯穿
break
的作用是阻断当前结构语句,可以阻断 switch
也可以阻断 循环
let count=40;
switch (count) {
case 30:
console.log('天涯何处无芳草');
break;//阻断switch语句,跳出switch
case 70:
console.log('一曲肝肠断');
break;
//如果上面的条件都不能满足,则会执行default中的代码
default:
console.log('天涯何处无芳草+default');
break;
}
4 for循环
for(循环变量的初始值;循环条件;循环变量的增值){
循环体(就是循环要执行的代码)
}
对循环条件的理解,是变量满足循环条件的时候,才会执行循环体中的代码
只有循环结束,循环后面的代码才能执行
4.1 for循环的执行过程
- 首先判断循环变量的初始值,是否满足循环条件
- 如果满足循环条件,则执行循环体中的代码
- 循环体中代码执行完毕,然后执行循环变量的增值操作
- 判断循环变量的当前值,是否满足条件
- 在下一次循环中,依次执行2、3、4步骤
- 直到循环变量的当前值不满足循环条件,跳出当前循环
4.1.1 for循环当中,声明变量的区别
- 如果使用var声明,则循环体中的延迟操作都会获取变量的最终值
- 如果使用let声明,由于let是块级作用域,所以循环体中的延迟操作的变量不会受到影响
4.2 跳出循环
continue
当在循环体中执行continue
之后,他后面的所有代码都不执行,直接跳出当前循环,执行下一次循环break
当在循环体中执行break
之后,直接终止当前for循环
4.3 奇葩for循环
- 正常for循环的写法
for(let i=0;i<10;i++){
console.log(i);
}
- 没有初始值
let k=0;
for(;k<10;k++){
console.log(k);
}
- 没有初始值和判断是否满足循环条件
如果for
循环中没有判断条件,那么他的判断条件在循环体内部,并且需要开发者手动书写跳出循环的操作,因为不会主动跳出循环
let m=0;
for(;;m++){
//code
if(m<10){
console.log(m);
}else{
break;
}
}
- 没有初始值,没有判断条件,没有递增
let n=0;
for(;;){
if(n<10){
console.log(n);
n++;//递增
}else{
break;
}
}
for
循环中,如果他的判断条件具有多个,如下,具有i<6,j<20
两个条件,那么,只有最后一个条件起到了判断条件的作用,其他判断条件作废
for(let i=0,j=0;i<6,j<20;i++,j++){
console.log(i);
sum=i+j;
}
document.write(sum+'<hr>');
4.4 循环嵌套
//外层控制的是行
for(let i=0;i<5;i++){
//内层控制的是列
for(let k=0;k<=i;k++){
document.write(k);
}
document.write('<br>');
}
5 while循环
当满足循环条件的时候,进入循环体,当不满足循环条件的时候,跳出循环,循环结束
5.1 while循环
while(循环条件){
循环体
}
5.2 do-while循环
do(循环条件){
循环体
}while(循环条件)
5.3 do-while 和 while的区别
do
首先执行一次循环体中的代码,然后判断是否满足循环条件,如果满足则执行循环体,否则跳出循环do-while
要比while
多执行一次循环体代码