JavaScript-while 和 do while 如何选择

需求

  • 要求用户输入密码, 判断输入的密码是否正确 (假设正确密码是 123456)
  • 如果正确, 输出 "欢迎回来"
  • 如果不正确, 要求用户重新输入

首先先来看看不使用循环的实现代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Demo</title>
    <script type="text/javascript">
        let pwd = prompt("请输入密码");

        if (pwd !== "123456") {
            pwd = prompt("请输入密码");
        }

        if (pwd !== "123456") {
            pwd = prompt("请输入密码");
        }

        if (pwd !== "123456") {
            pwd = prompt("请输入密码");
        }

        if (pwd !== "123456") {
            pwd = prompt("请输入密码");
        }
        
        alert("欢迎回来");
    </script>
</head>
<body>
</body>
</html>

通过不使用循环的方案来实现发现了一个问题, 在输入 5 次过后 欢迎回来 显示出来了, 使用 while 改造如下。

while 循环实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Demo</title>
    <script type="text/javascript">
        let pwd = prompt("请输入密码");

        while (pwd !== "123456") {
            pwd = prompt("请输入密码");
        }

        alert("欢迎回来");
    </script>
</head>
<body>
</body>
</html>

do while 循环实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Demo</title>
    <script type="text/javascript">
        let pwd = -1;
        
        do {
            pwd = prompt("请输入密码");
        } while (pwd !== "123456");
        
        alert("欢迎回来");
    </script>
</head>
<body>
</body>
</html>

总结

1.在企业开发中大部分情况下 while 循环和 do while 循环是可以互换的
2.在企业开发中如果循环体中的代码无论如何都需要先执行一次, 那么建议使用 do while 循环
3.在企业开发中其它的情况都建议使用 while 循环

posted @ 2021-06-29 15:05  BNTang  阅读(120)  评论(0编辑  收藏  举报