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 @   BNTang  阅读(127)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示