美文网首页js css html
(JavaScript + ES6基础) 循环结构

(JavaScript + ES6基础) 循环结构

作者: Jinx要睡懒觉 | 来源:发表于2022-05-08 21:49 被阅读0次

    三、循环结构1

    1.var let const

    使用var关键字定义的变量,变量名可以重复,后面的变量会将前面的变量覆盖。
    var方式定义的变量,会统一提升到作用域的顶端定义,然后再在指定的地方赋值。
    var定义的变量,即使在指定的代码块中,仍然会提升到全局作用域的顶端。

    <script>
        var a = 10;
        console.log(a);  //10
        var a = 20;
        console.log(a);  //20
    
        console.log(b);  //undefined
        var b = 20;
    
        console.log(c);  //undefined
        if (true) {
            var c = 30;
            console.log(c);  //30
        }
    </script>
    
    <script>
        let d = 10;
        console.log(d);
        // let d = 10;   //使用let,在同一个作用域中,不能定义同名的变量。
    
        // console.log(e);  //报错Cannot access 'e' before initialization
        // let定义的变量,不存在提升。
        let e = 100;
    
        // console.log(f); //报错 f is not defined at
        if (true) {
            let f = 200;
            console.log(f);
        }
    </script>
    

    因为使用var定义变量,存在上面的各种问题,所以从ES6开始,又引入的新的方式定义变量。
    使用let,在同一个作用域中,不能定义同名的变量。
    let定义的变量,不存在提升。
    const关键字,用于定义常量,常量的特点是:不能重新赋值,并且在定义时,必须要赋值。

    2.模板字符串

    使用 '' 和 "" 定义的数据是字符串数据

    console.log('大家好!我叫'+name+',今年'+age+'岁,性别是'+gender+',职业是'+job);
    在ES6中,又加入 `` ,在反引号里面,可以定义模板字符串,方式是${变量名}

    console.log(`大家好!我叫${name},今年${age}岁,性别是${gender},职业是${job}`);
    

    如果字符串采用""包裹,里面可以定义''
    如果字符串采用''包裹,里面可以定义""

    如果希望我们定义的字符串中,既包括双引号,又包括单引号,过去是采用转义字符的方式定义的。

    转义字符串:\" 表示 " \' 表示 '
    
    console.log("\'大家好\'!\"才是真的好\"!");
    现在可以直接在模板字符串中使用双引号和单引号
    
    console.log(`'大家好'!"才是真的好"!`);
    转义字符的其他用法
    
    \t 表示水平制表符,其实就是一个Tab键
    
    \n 表示换行符,其实就是一个Enter键
    
    \\\\表示一个\\
    

    3.while循环

    //()里面是循环的条件,条件成立,执行{}里面的操作
    while(条件){
    操作
    }

    // 打印10行:好好学习,天天向上
    // 定义循环变量
    let i = 1; 
    // ()里面是循环的条件,条件成立,执行{}里面的操作
    while (i <= 10) {
        console.log(`第${i}行,好好学习,天天向上`);
        // 注意:在while循环体中,必须对循环变量重新赋值,否则会死循环。
        i++;
    }
    console.log('end');
    

    练习题1:找出100以内,能被3整除的数,并输出
    练习题2:找出21世纪里面所有的闰年,并打印出来
    练习题3:输入年 月 日,算出该日期是全年的第多少天

    4.do-while循环

    do{
    操作
    }while(条件)
    while循环的特点是:先判断条件,再执行循环操作

    do-while循环的特点是:先执行一次循环操作,再判断循环条件

    所以,do-while循环,没有入口判断,无论循环条件是否满足,至少会执行一次循环体

    练习题1:系统菜单:输入 1.添加学生,2.修改学生,3.查询学生,4.删除学生,0.退出系统
    练习题2:小型ATM机系统

    5.作业

    打印输出3位数里面所有的水仙花数,百位数的3次方+十位数的3次方+个位数的3次方===这个数
    输入你的出生年月日,再输入当前日期的年月日,计算出你一共活了多少天
    输入一个指定的日期,输出该日期是星期几,提示:1900-1-1是星期一


    四、循环结构2

    1.for循环

    for(条件变量;循环条件;迭代部分){
    操作
    }
    for循环,就是由while循环演变而来

    在for循环,可以将循环的条件变量,判断条件,对象循环变量重新赋值,放在一起,好处是不容易遗漏任何一部分

    for循环结构中的循环变量可以定义多个

    while,do-while,for,如何选择:

    当循环的次数是固定的时候,通常使用for循环
    当循环的次数不固定的时候,通常会使用while和do-while循环

    2.循环的跳出语句(continue,break)

    在循环结构中break,表示跳出整个循环

    在循环结构中continue,表示跳出本次循环

    练习题1:会员登录,一共有3次登录机会,如果,第一次登录失败,提示失败原因,并告知还剩下几次机会
    如果,登录名输入错误,显示信息,并且密码就不需要在输入了
    如果,第一次就登录成功,后面的机会就不需要了

    练习题2:会员注册,注册会员信息,输入会员号(必须是4位整数),输入姓名,输入性别(只能是男或女)
    一共有三次机会,会员信息输入错题,提示错误信息,并显示还有几次机会

    练习题3:猜数小游戏,系统随机返回一个1-100之间的数,给5次机会,猜这个数
    每次猜的数,要提示用户,猜大了还是猜小了
    提示:Math.random()随机返回0到1之间的小数

    五、多重循环

    在二重循环中,外层循环变量变化一次,内层循环变量变化整个

    练习题1:有三个班级,每个班级有四名学生,输入所有学生的成绩,并计算出每个班级的平均分
    练习题2:打印直角三角形
    练习题3:打印倒直角三角形
    练习题4:打印等腰三角形
    练习题5:打印99乘法表
    练习题6:数字等腰三角形
    练习题7:找出100以内所有的质数
    在内层循环中,使用continue,break,只是作用于内层循环

    练习题1:有5家店,每家店最多可以买3件衣服,进入一家店后,提示是否离开本店,
    输入y表示离开(会进入下一家店),输入n表示买一件衣服,最后输出用户一共买了多少件衣服。

    作业
    鸡兔同笼:有25个头,94只脚,请问鸡和兔各多少只
    百钱买百鸡:公鸡5文钱一只,母鸡3文钱一只,小鸡1文钱3只,请问公鸡母鸡小鸡各多少只
    打印菱形
    打印空心菱形

    相关文章

      网友评论

        本文标题:(JavaScript + ES6基础) 循环结构

        本文链接:https://www.haomeiwen.com/subject/jbqcurtx.html