<六>代码块及流程控制语句

程序的执行顺序

  • 顺序 —— 从上向下,顺序执行代码
  • 分支 —— 根据条件判断,决定执行代码的 分支
  • 循环 —— 让 特定代码 重复 执行

代码块

在开发中,一行代码很难完成某一个特定的功能,把完成某功能的多行代码放到一个代码块中;在js中,可以使用“{}”花括号为语句分组,分组后的语句要么都执行,要么都不执行,称为代码块。

代码块后面不用以;结尾,且代码块仅具有分组作用,没有数据隔离的作用,代码块内部的内容,在外部完全可以访问。

流程控制语句

条件判断语句:

if语句

执行时会先对条件表达式进行求值判断,如果条件成立即会执行语句,如果条件不成立,则不执行语句,

语法一 if:

if(条件表达式)

        语句... ...

if语句只能控制紧随其后的语句,如果希望if语句可以控制多条语句,可以将这些语句放入代码块中,if语句中的代码块不是必须的,但是建议尽量写上,哪怕只有一条语句,以代码块的形式也更加明确。

语法二 if...else...:

if(条件表达式){

        语句1... ...

}else{

语句2... ...

}

的值为true,则执行语句1,如果条件表达式的值为false,则执行语句2.

语法三 if...else if...else:

if(条件表达式){

        语句1... ...

}else if(条件表达式){

语句2... ...

}

else{

语句3... ...

}

当该语句执行时,会从上到下依次对表达式进行求值判断,如果值为true,则执行当前语句。如果为false,则继续执行。

该语句只有一个代码块会被执行,一旦执行了就结束了,其他代码块不会被执行。

条件分支语句:

swich语句
语法一 swich

swich(条件表达式){

        case 表达式1:

                语句1... ...

                break;

        case 表达式2:

                语句2... ...

                break;

                ... ...

        default:

                语句... ...

                break;

}

执行流程:会将case后面的表达式的值和switch后的条件表达值的值进行全等比较如果为true,则执行表达式的值,如果为false,则继续判断。所以如果在case中没有写break,一但满足条件会执行从满足条件后的所有语句。所以如果用此语句,一定要加上break。

在所有的执行结果都和case比较后,如果都为false,则执行default。

循环语句:

while语句

语法一 while

while(条件表达式){

        语句... ...

}

表达式为true时,执行语句。当语句执行后会再次判断表达式,如果表达式仍然为true,则再次执行语句,直至表达式的值为false,退出循环。

死循环:改循环不会停止,除非关闭浏览器。在开发中要慎用。

while(true){

        语句... ...

}

创建一个循环的三个步骤:

1、初始化一个变量 : var i = 0;

2、在循环中设置一个表达式:while(i<=10){

        .... ....

}

3、定义一个更新设置,每次更新初始化变量:

while(i<=10){

        .... ....

        i++;

}

语法二 do while:

do{

        语句1... ...

}while(条件表达式);

执行流程:会先执行循环体,然后再进行表达式判断,如果结果为true,则继续执行语句,直至表达式的值为false,则终止循环。

与while语句类似,俩者的区别是,while语句需要先判断表达式,如果第一次判断就是false,那么语句一次都不会被执行。而do...while...则是先执行语句,然后再进行表达式的判断,也就是不管表达式的返回值是什么,循环体都至少被执行了一次。

for语句

语法一 for()

for(初始表达式;条件表达式;更新表达式){

        语句... ...

}

for循环语句的执行顺序:1、先执行初始化表达式,初始化变量;2、执行条件表达式,如果执行结果为true,则执行执行语句。如果为false,则终止循环;3、执行更新表达式,执行完毕后继续重复2的操作;

初始化表达式只会执行一次,除了初始化与条件表达式相关的变量,还可以一起初始化一些其他的变量,如用于基数的变量:

for(var i=1,m=0;i<10;i++){

        m++;

}

for循环中的三个部分可以省略,也可以写在外部。写在外部就和whlie一样;

var i = 0;

for(;i<10;){

        alert(i++);

}

如果for循环的三个部分都省略了,那么就相当于是个死循环,会一直执行;

for( ; ; ){

alert("这是一个死循环,会一直执行");

}

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值