循环语句的使用

for语句的语法

  • for的圆括号中有三个表达式: 

        1. 表达式var i = 1; 表示定义一个“循环变量”i,并赋值为1。 

        2. 表达式i <= 10; 表示继续执行循环的条件,只要这个条件为真,则会一直执行。

        3. 表达式i++用来更新循环变量,使循环变量的值越来越趋向终点。

for语句的执行机理

  1. 首先会执行语句①。
  2. 然后判断语句②是否满足,如果满足则进入循环体,执行语句③,如果不满足则退出循环。
  3. 语句体中的语句执行完毕后,执行语句④。
  4. 再次判断语句②是否满足,如果满足则进入循环体,执行语句③,如果不满足则退出循环。
  5. ……


while循环语句 

  • while语句也是一种循环结构,是一种“不定范围”循环,和for循环各有不同的用武之地。
  • while语句事先不指定循环开始、结束的范围,只要测试条件满足,就一直执行循环体。

while循环注意事项

  • while循环没有显式定义循环变量,必须自己在while循环外先定义好循环变量,有时甚至可以没有循环变量。
  • 循环体内的语句,必须使循环测试条件趋向不成立,否则会死循环。

break和continue

  • break表示立即终止循环,break用在while语句中,通常和while(true){}搭配使用。

  • continue用于跳过循环中的一个迭代,并继续执行循环中的下一个迭代。for循环更经常使用continue。


do while循环

  • do while循环是一种“后测试循环语句”。它不同于for循环和while循环每次都是“先测试条件是否满足,然后执行循环体”,do-while循环是“先执行循环体,然后测试条件是否满足”。
  • do-while循环将循环执行条件写到了循环体的后面,这样一来,循环体一定会至少执行一次,然后再检测循环执行条件是否为true,决定是否继续执行循环体。

猜数字小游戏

  • 随机生成一个2到99的数字,让用户猜测这个数字是几,用户输入自己的猜测之后,提示“输入的数字太大了”或“输入的数字太小了”,不断重复这个过程,直到用户准确猜到这个数字。
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 随机一个数字,2~99之间
        var answer = parseInt(Math.random() * 98) + 2;
        // 此时范围的最小值和最大值,这个数值是用来提示用户的
        var min = 1;
        var max = 100;

        do {
            // 询问用户猜测的数字
            var n = Number(prompt('请猜测数字' + min + '~' + max));
            // 验证用户输入的数字是否在范围内
            if (n <= min || n >= max) {
                alert('你输入的数字不在范围内');
                // 不在区间内,直接放弃这次循环,就开启下一次迭代
                continue;
            }

            // 判断用户输入的数字和answer的关系
            if (n > answer) {
                alert('你输入的数字太大了');
                // 因为用户输入的数字较大,所以可以让此时的最大范围数字变为用户输入的值
                max = n;
            } else if (n < answer) {
                alert('你输入的数字太小了');
                // 因为用户输入的数字较小,所以可以让此时的最小范围数字变为用户输入的值
                min = n;
            }
        } while (n != answer);

        // 出了do while循环,就说明n和answer相等了,因为只有相等了,才能出循环。
        alert('恭喜猜对了!');
    </script>
</body>

</html>

随机数函数

  • 先学习随机数函数。得到0到1之间的小数:

  • 得到[a, b]区间的整数,公式:

  • 请编写程序,随机生成两个变量dx和dy,它们均在[-4,4] 区间随机取值,但要求dx和dy不能同时为0。
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 随机两个变量,dx和dy,他们都在[-4, 4]之间随机取值,但是不能都为0
        do {
            var dx = parseInt(Math.random() * 9) - 4;
            var dy = parseInt(Math.random() * 9) - 4;
        } while (dx == 0 && dy == 0)

        // 只要你出循环,就保证dx和dy不都是0
        console.log(dx, dy);
    </script>
</body>

</html>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值