代码块
我们的程序都是由一条一条语句构成的,语句按照自上向下的顺序一条一条的执行的
在js中可以使用{}来为语句进行分组,同一个{}中的语句我们成为是一组语句也叫代码块
他们要么都不执行要么都执行
在代码块的后边就不用编写分号(;)了
js中的代码块,只具有分组的作用,没有其他用途
代码块内容的内容,在外部完全可见的,并不具有作用域的功能
流程控制语句
js中的程序是从上到下一行一行的执行,通过流程控制语句可以控制程序执行流程
使程序可以根据一定条件来选择执行
- 流程控制语句有以下的三类
- 条件判断语句
- 条件分支语句
- 循环语句
条件判断语句
使用条件判断语句可以在执行某个语句之前的判断,如果条件成立才会执行,条件不成立就不会执行
if语句
语法一:
if(条件表达式){
语句...
}
if语句在执行时会先对条件表达式进行求值判断
如果条件表达式的值为true,则会执行if后的语句
如果条件表达式的值为false,则不会执行if后的语句
if只有一条语句的时候可以不用{},但如果有多条语句就必须用{}
语法二:
if(条件表达式){
语句...
}else{
语句...
}
当执行语句时,会先对if后的条件表达式进行求值判断如果该值为true则执行if后语句,否则直接else的语句
语法三:
if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else{
语句...
}
当执行时会从上到下依次对条件表达式进行判断,遇到true的然后就执行if后面的语句,否则就接着向下判断,如果所以条件都不满足就执行else
该语句中,只要有一个代码块被执行,就会直接结束语句
条件分支语句
条件分支语句也叫switch语句
switch(条件表达式) {
case 表达式 :
语句...;
break;
case 表达式 :
语句...;
break;
case 表达式 :
语句...;
break;
.
.
.
}
在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较
如果没有break的话,则从当前case开始向后执行代码,直到结束
一般情况都会跟着一个break语句
如果所有的case都比较完了没有匹配的,则执行default语句
循环语句
while循环
while(条件表达式){
语句...
}
先对条件表达式进行求值判断,如果值为true则执行循环体,循环体执行完毕继续对表达式进行判断
如果为true则继续执行循环体 以此类推,如果为false则终止循环
do…while循环
do{
语句...
} while(条件表达式)
先执行循环体 执行完毕在对while后的条件表达式进行判断,如果为true则继续执行循环体,以此类推,如果为false则终止循环
实际上两个语句功能类似 但是
while先判断在执行 (可以一次都不执行)
do… while先执行在判断(一定会执行一次)
for语句
在for循环中,为我们提供 专门的位置用来放置三个表达式
- 初始化表达式
- 条件表达式
- 更新表达式
for(初始化表达式;条件表达式;更新表达式){
语句...
}
先执行初始化表达式,初始化变量(会执行一次),然后执行条件表达式 判断是否执行循环
如果true 则执行循环,如果false 终止循环
最后执行更新表达式 执行完毕继续重复2