一、条件语句
1. 单分支
(1)格式
if(表达式){
执行语句
}
(2)规则
- 当括号内的表达式结果成立(为true时),则执行大括号内的语句,否则不执行。
- 括号里的表达式一般是关系表达式或者逻辑表达式:
注意:
- if后面的()不能省略。
- 无论执行语句是一条还是多条,一对{ }都不能省略。
- if语句, 只能决定,紧跟着if语句后的一条语句是否执行,在JS中,我们把{ }括起来的所有语句都当做是一条语句对待。
2. 双分支
(1)格式
if (判断条件/表达式){
执行语句1;
}else{
执行语句2;
}
(2)规则
当括号内的判断条件/表达式结果成立的时候,执行执行语句1,否则执行执行语句2
(3)示例
求两个数的最大数:
var num1 = 10;
var num2 = 20;
var max = null; //如果在声明变量的时候,没有赋值,那么一般情况下,将当前这个变量的值设置成null。
if(num1 > num2){
max = num1 ;
}else{
max = num2 ;
}
3. 多分支
3.1. if- else if -else结构
(1)格式
if(表达式1) {
执行语句1;
}else if(表达式2) {
执行语句2 ;
}else if(表达式3 ){
执行语句3;
}else{
执行语句n;
}
(2)规则
从上往下,满足哪个条件就执行对应的语句,都不满足时,执行最后的else的语句,只能进入其中之一。
3.2. switch-case-default结构
(1)格式
switch(表达式){
case常量1:
语句1;
break;
case常量2:
语句2;
break;
case 常量3:
语句3;
break;
default:
如果上述语句都不成立,执行这里;
break;
}
(2)规则
- 表达式的结果等于哪个case的常量,则执行其后的语句,执行完break以后,就跳出switch结构,如果都不满足,执行default语句。
- break的作用:是跳出switch结构,如果没有break,则继续执行下面分支的的语句(而不进行判断)。
注意:
- break是定不能省 略的,如果省略就会 造成事件穿透。
- default一般情况下,不要省略,为了避免语句歧义。
4. 嵌套if结构
(1)格式
if (表达式1)
if (表达式2)
{
if (表达式3)
{
语句;
}
else
{
语句;
}
}
}
(2)规则
- 嵌套if时,最好不要超过三层;
- 内层的每一对if…else代码要缩进且对齐;
- 编写代码时,else要与最近的if配对。
注意:
- if后面的()不能省略,()后面不要加分号。
- if分支中即使一句话也要把{}写上。
- if嵌套不要超过三层。
- switch语句里把default分支一定要写上,防止在以后的维护中产生歧义。
- 把执行概率更大(正常情况)放在前面(if,case )
- if else和switch:
- if-else一般来表示两个分支或者嵌套比较少的分支,如果分支多的话,用switch。
二、循环语句
1. 循环的概念
循环结构是程序中一种很重要的结构,其特点是在给定条件成立时,反复执行某程序段,直到条件不成立为止。
(1)分类
- while循环
- do…while循环
- for循环
2. while循环
(1)语法格式:
while(表达式)
循环语句;
}
注意:
- 先判断表达式,表达式成立后执行语句。
- 循环条件中使用的变量(循环变量)需要经过初始化。
- 循环体中,应有结束循环的条件,否则会造成死循环。
- 循环体中可以写若干句合法的javaScript代码,包括if, 也可以再套个循环语句。
3. do-while循环
(1)语法格式:
do
{
循环语句;
}while(表达式);
注意:
- do-while循环先去执行次循环语句, 然后再去判断一次表达式。
- 最后的分号不要忘记。
- 循环条件中使用的变量需要经过初始化。
- 循环体中,应有结束循环的条件,否则会造成死循环。
4. while和do while的区别
- 执行顺序的问题,while是先判断,do-while,先执行循环体的代码,再判断。当条件第一次就不满足时,更能体现出区别。
- 在开发中,while用的情况多。如果while处理逻辑比较别扭时,就需要使用do-while。
5. for循环
(1)语法格式
for(表达式1:表达式2:表达式3)
{
循环语句;
}
(2)执行过程
- ① 先求解表达式1 (只求一次) ;
- ② 求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后求解表达式3;再求解表达式2,若为假,则结束循环,执行for循环外的语句。
(3)说明
for循环三个表达式的说明:
- 三个表达式都可以省略,但分号不能省略,省略后都可改写。
如:省略表达式1,需在循环外初始化循环变量。
var i=1;
for(;<=100;i++){
sum=sum+i;
}
- 3个表达式都省略:例:for(;? 这是个死循环
6. 循环的嵌套
- 一个循环语句内又包含另个完整的循环语句。
- 3种循环可以互相嵌套,下面几种都是合法的形式。
while(){
while()
{..}
}
do{
do
{...}while();
}while();
for(;;)
{
for(;;)
{..}
}
do{
while()
{...}
}while();
for(;;)
{
while()
{..}
}
7. break语句与continue语句
(1)break语句
- 在swith语句中使流程跳出switch。
- 在循环语句中使流程跳出当前的循环。
(2)continue语句
只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断