需求
- 要求用户输入密码, 判断输入的密码是否正确 (假设正确密码是
123456
)- 如果正确, 输出
"欢迎回来"
- 如果不正确, 要求用户重新输入
首先先来看看不使用循环的实现代码如下
<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 循环实现
<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 循环实现
<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 循环