JavaScript-笔记3

一、代码块

语句是按照自上而下的顺序执行的,在JS中可以使用 {} 来为语句进行分组,同一个 {} 中的语句称为一组语句,要么都执行,要么都不执行,一个 {} 中的语句也称为一个代码块,代码块结尾不用写 ;

*JS中的代码块只有分组的作用,没有其他用途

二、流程控制语句

JS中的程序是从上到下一行一行执行的,通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行

语句的分类:

1. 条件判断语句

2. 条件分支语句

3. 循环语句

三、条件判断语句

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

if 语句

语法一:

if(条件表达式){

    语句;

}

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

if 语句只能控制紧随其后的那个语句,如果希望if 语句可以控制多条语句,可以将这些语句统一放到代码块中

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

        var a = 20;
        if (a > 10 && a <= 25) {
            alert("a大于10并且小于等于25")
        }

语法二:

if(条件表达式){

    语句...;

}else{

    语句...;

}

if...else...语句

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

语法三:

if(条件表达式){

    语句...;

}else if(条件表达式){

    语句...;

}else if(条件表达式){

    语句...;

}else{

    语句...;

}

if...else if...else 语句

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

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

*、prompt() 函数

prompt() 可以弹出一个提示框,该提示框中会带有一个文本框,用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,该字符串会作为提示框的提示文字

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

*prompt() 函数的返回值是String类型的

四、条件分支语句

也叫 switch 语句

语法:

switch(条件表达式){

    case 表达式:

        语句...;

        break;

    case 表达式:

        语句...;

        break;

    default:

        语句...;

        break;

}

执行流程:

switch...case... 语句

在执行时会依次将case后的表达式的值和switch后的表达式的值进行全等比较,如果比较结果为true,则从当前case处开始执行代码(当前case后所有的代码都会执行,因此可以在case后面跟一个break关键字,这样可以确保只会执行当前case后的语句而不会执行其他case),如果比较结果为false,则继续向下比较,如果所有的比较结果都为false,则执行default后的语句

*使用break可以退出switch语句

        var num = 3;
        switch (num) {
            case 1:
                console.log("一");
                break;
            case 2:
                console.log("二");
                break;
            case 3:
                console.log("三");
                break;
            default:
                console.log("非法数字");
                break;
        }

*switch语句和if语句的功能实际上是有重复的,使用switch可以实现if的功能,同样使用if也可以实现switch的功能,可根据习惯选择

五、循环语句

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

while 循环

语法:

while(条件表达式){

    语句...;

}

while语句执行时,先对条件表达式进行求值判断,如果值为true,则执行循环体,循环体执行完毕后,继续对表达式进行判断,如果为true,则继续执行循环体,依此类推,如果值为false,则终止循环

        var i = 1;
        while (i < 10) {
            document.write(i++ + "<br/>")
        }

*使用break也可以退出循环

        while (true) {
            alert(n++);
            if (n == 10) {
                break;
            }
        }

do...while 循环

语法:

do{

    语句...;

}while(条件表达式)

执行流程:

do...while语句在执行时,会先执行循环体,循环体执行完毕以后,再对while后的条件表达式进行判断,如果结果为true,则继续执行循环体,如果结果为false,则终止循环。

*实际上这两个语句功能类似,不同的是while是先判断后执行,而do...while是先执行后判断,do...while可以保证循环体至少执行一次,而while不能

        var i = 11;
        do {
            document.write(i++ + "<br/>")
        } while (i < 10)

for 循环

在for循环中,为我们提供了专门的位置用来放三个表达式:

1.初始化表达式

2.条件表达式

3.更新表达式

语法:

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

    语句...;

}

执行流程:

1. 执行初始化表达式,初始化变量(初始化表达式只会执行一次)

2. 执行条件表达式,判断是否执行循环,如果为true,则3. 执行循环,如果为false,则终止循环

4. 执行更新表达式,更新表达式执行完毕继续重复2.

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

*for循环中的三个部分都可以省略,也可以写在外部,如果不写任何表达式,只写两个“;”,此时循环是一个死循环,慎用

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

嵌套的for循环

for循环内部嵌套for循环

六、break 和 continue

break

break关键字可以用来退出switch循环语句

不能在if语句中使用break和continue

break关键字会立即终止离它最近的循环语句

*可以为循环语句创建一个label,来标识当前的循环

label名:循环语句

使用break语句时,可以在break后跟一个label,这样break将会结束指定的循环,而不是最近的

        outer:
            for (var i = 0; i < 5; i++) {
                console.log("@外层循环" + i);
                for (var j = 0; j < 5; j++) {
                    break outer;
                    console.log("内层循环" + j);
                }
            }

continue

continue关键字可以用来跳过当次循环

同样continue也默认只会对离他最近的循环起作用,但也可用label指定

        for (var i = 0; i < 5; i++) {
            if (i == 2) {
                continue;
            }
            console.log(i);
        }

*测试程序性能

在程序执行前,开启计时器

console.time("计时器的名字") ;

它需要一个字符串作为参数,这个字符串将会作为计时器的标识

终止计时器

console.timeEnd("计时器的名字");

用来停止一个计时器,需要一个计时器的名字作为参数

*开方

Math.sqrt();

可以通过Math.sqrt()对一个数进行开方

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值