怎然让他不输入数字六的时候,一直循环

怎然让他不输入数字六的时候,一直循环

<script>
		var pwa =prompt("请输入密码");
	function password(pwa){
		while(true){
			if(pwa.length>6){
				return alert("密码不能大于六位");
			}
			else if(pwa.length<6){
				return alert("密码不能小于六位");
			}
			else{
				return alert("密码正确");
			}	
		}
	}
console.log(password(pwa));


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2019-04-25 09:48:42

同学你好, 你这里打印的是调用函数后的返回值,因为函数没有返回值,  也就是函数中没有使用return返回一个值, 使用console.log(password(pwa())在控制台显示的就是undefined, 这个不是报错, 没有关系的。

这里给同学举一个小例子,帮助同学理解:

http://img1.sycdn.imooc.com//climg/5cc111c40001407505450324.jpg

因为return会结束函数的执行, 所以在这里想要实现用户输入不正确的情况下循环弹出输入密码窗口,可以改成直接在函数内部使用alert方法弹出提示信息。

另, 这里已经使用弹窗提示用户输入的密码是否正确了, 就不需要再在控制台打印了。

如果帮助到了你,欢迎采纳

祝学习愉快~~

好帮手慕慕子 2019-04-24 19:26:52

同学你好, 这里不可以使用return, 因为return会结束函数执行。 可以直接使用alert弹出提示框,另, 需要在输入的密码不是6位的时候,再次弹出输入框让用户输入密码, 当用户输入的密码长度为六位时, 使用break;结束循环。示例

http://img1.sycdn.imooc.com//climg/5cc047be0001962d05640519.jpg

如果帮助到了你,欢迎采纳

祝学习愉快~~~

  • 提问者 Jack崔 #1
    while循环体里的true可不可以不写
    2019-04-25 08:32:56
  • 提问者 Jack崔 #2
    <script> var pwa = prompt("请输入密码"); function password(pwa) { while(true) { if (isNaN(pwa)==true) { alert("密码必须是六位数的数字") pwa = prompt("请重新输入密码"); } else if (pwa.length<6) { alert("密码不能小于六位"); pwa = prompt("请重新输入密码"); } else if (pwa.length>6) { alert("密码太长"); pwa=prompt("请输入密码"); } else { alert("密码正确"); break; } } console.log(alert) } console.log(password(pwa)) </script>
    2019-04-25 08:56:11
  • 提问者 Jack崔 #3
    我这样写完之后控制台输出的是undefined
    2019-04-25 08:57:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师