JS-流程控制

JS-流程控制

  1. 语句和代码块

    语句statement:程序是由一条条语句构成的;语句是按照自上往下的顺序一条一条执行的;

    代码块:一个{}中的语句,我们也称为代码块;

    —同一个{}中的语句,我们称为一组语句,它们共同执行或者共同不执行;

    —在代码块的后边就不用编写分号了;

    —JS中的代码块,只具有分组功能,不具备其他功能;

    —代码块内部的内容,在外部是完全可见的,代码块只是分组,不能将代码块内的内容进行隔离

  2. 流程控制语句

    —通过流程控制语句可以控制程序执行流程,使程序可以根据一定条件来选择执行;

    流程控制语句的分类

    1. 条件判断语句

    2. 条件分支语句

    3. 循环语句

  3. 条件判断语句

    —使用条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则语句不执行;

    语法一:if语句

    if(条件表达式){
    	语句
    }
    

    if语句在执行时,会先对条件表达式进行求值判断,如果条件表达式的值为true,则执行if后的语句;如果条件表达式的值为false,则不会执行if后的语句;

    if语句只能控制紧随其后的语句,如果希望if语句控制多条语句,可以将if后面的语句放入代码块中;

    if语句后的代码块不是必须的,但是在开发中尽量写上代码块,结构更清楚,即使if后面只有一条语句

    if语句中条件表达式可以通过与运算符&&同时满足多个条件;

    语法二:if..else语句

    if(条件表达式){
    	语句...
    }else{
    	语句...
    }
    

    —当该语句执行时,会先对if后的条件表达式进行求值判断,如果该值为true,则执行if后的语句;如果该值为false,则执行else后面的语句;

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

    if(条件表达式){
    	语句...
    }else if(条件表达式){
    	语句...
    }else{
    	语句...
    }
    

    —当该语句执行时,会从上向下依次对条件表达式进行求值判断,如果条件表达式为true,则执行当前语句;如果值为false,则继续向下判断;如果所有条件都不满足,则执行最后else后面代码块的语句;

    —在执行该语句中,只会有一个代码块被执行,一旦代码被执行了,则直接结束语句;

    —在编写条件表达式时,一定要注意条件表达式的顺序,避免出现死代码;

    注意条件表达式中,=赋值运算符和==相等运算符的区别:

    如果条件表达式中为 = 赋值运算符,则条件表达式的判断值永远为true;在进行相等比较时,一定使用==相等运算符!!!

  4. 条件分支语句

    —条件分支语句也叫switch语句;

    —语法:

    switch(条件表达式){
    	case 表达式:
    		语句...
    		break;
    	case 表达式:
    		语句...
    		break;
    	.
    	.
    	.
    	default:
    		语句...
    		break;
    }
    

    switch case语句的执行流程:在执行时依次将case后面的表达式的值和switch后面表达式的值进行全等比较

    —如果比较结果为true,则从当前case处开始执行代码;(当前case后面的代码都会被执行)

    —如果比较结果为false,则继续向下比较执行;

    break:使用break可以退出switch语句;可以在case语句中加上break,确保只会执行当前的case语句,而不会执行其他case语句;

    default:如果所有的比较结果都为false,则只执行default中的语句;

    switchif语句的功能实际上有重复,使用switch语句可以实现if语句的功能,同样,使用if语句也可以实现switch语句的功能;所以在使用时,根据自己的习惯选择;if语句在开发过程中使用较多;

  5. 循环语句

    —循环语句:通过循环语句可以反复执行一段代码多次;

    —创建一个循环需要三部分:

    1. 创建一个初始化变量

    2. 在循环中设置条件表达式

    3. 定义一个更新表达式,每次更新初始化变量的值;

    while循环语句

    —语法:

    while(条件表达式){
    	语句...
    }
    

    while循环执行过程:首先对条件表达式进行求值判断,如果值为true,则执行循环体,循环体执行完毕后,继续对条件表达式进行判断,如果为true,继续对循环体执行,依次类推;如果条件表达式值为false,则终止循环;

    —将条件表达式写死为true的循环为死循环,该循环不会停止,除非浏览器关闭;开发过程中慎用;可以使用break来终止死循环;

    do while循环语句

    —语法:

    do {
    	语句...
    }while(条件表达式)
    

    —执行流程:在执行过程中先执行循环体,循环体执行完毕后,在对while后的条件表达式进行判断,如果结果为true,否则继续执行循环体,执行完毕继续判断,以此类推;如果结果为false,则终止循环;

    —实际上whiledo while功能类似,但不同的是,while是先判断在执行;而do while是先执行在判断;因此do while可以保证循环体至少执行一次;相比来说while所用较多;

    for循环语句

    —在for循环中,提供专门的位置用来放置三个表达式:初始化表达式,条件表达式,更新表达式;并且用分号进行隔开

    —语法:

    for(初始化表达式;条件表达式;更新表达式){
    	语句...
    }
    

    —执行流程:for循环语句首先执行初始化表达式,即初始化变量(初始化表达式只会执行一次);其次执行条件表达式,判断是否执行循环,如果判断结果为true,则执行循环体;如果为false,终止循环体;最后执行更新表达式,更新表达式执行完毕后,继续执行条件表达式进行判断;

    for循环中三个部分都可以省略,可以写入外部;例如:

    var i=0;
    for(;i<10;){
    	alert(i++);
    }
    

    —如果for循环中不写任何表达式,只写两个分号,此时循环为一个死循环,慎用;

    for循环的嵌套:如果打印一个图形,外部循环控图像的高度,内部循环控制图形的宽度,经典的三角形图形打印;

  6. break关键字和continue关键字

    break关键字

    —可以用来退出switch或者循环语句;但是不可用于if语句

    —使用break关键字,循环或者switch语句立即结束;

    break可以应用于循环中的if语句中,此时关键字是对整个for循环起作用;

    —多个循环嵌套情况下,break关键字会立即终止离他最近的那个循环语句

    —可以为循环语句创建一个label标签,来标识当前的循环;语法:

    label名称:
    for(){
    	循环体
    }
    

    —使用break时,可以在break后面跟着一个label,这样break结束的就是指定循环而不是最近的;(开发中不经常使用);

    continue关键字

    —可以用来跳过当次循环,但是不可以用于if语句和switch语句,可以用于循环语句中的if语句,对当前循环起作用;

    continue关键词默认对离他最近的循环起作用;同时可以设定label,终止特定循环;

  7. prompt()函数

    prompt()函数可以弹出一个提示框,该提示框中会带有一个输入文本框,用户可以在文本框中输入一段内容;

    —该函数需要一个字符串作为参数,字符串的内容将会作为提示框的提示文字

    —用户输入的内容将会作为函数的返回值返回,可以定义一个变量进行内容的接收;

    prompt()函数的返回值是String类型的,在prompt()前面加入+,其返回值的类型就变成了Number型;

  8. JS计时器

    可以通过计时器进行程序性能的测试:

    —在程序执行前开启计时器,console.time("计时器名称")需要一个字符串作为计时器的标识

    console.timeEnd("计时器名称")需要一个计时器名字作为标识,可以终止计时;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值