请老师帮忙查看下,是否有不妥的地方?

请老师帮忙查看下,是否有不妥的地方?

    <script>
    var pwd=prompt('请输入您的密码用于验证'),  
        len=pwd.length;
    function check(pwd){
    if(len<6){
        return document.write('错误,小于六位数');       
    }else if(len>12){              
        return document.write('错误,多于十二位数');
    }else{
        return document.write('恭喜您,验证成功!!');
    }
    } console.log('长度是' + len);  //想查看len反馈长度,自行排查
    alert (check(pwd));  //为什么是输出underfined
    </script>

不明白为啥最后alert 出来时underfined?

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

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

2回答
好帮手慕言 2019-09-28 14:55:00

同学你好,使用同学的实现可能会比较麻烦,老师给同学一个简单的思路。使用while。

代码参考:

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

如果帮助到了你,欢迎采纳~祝学习愉快~


好帮手慕慕子 2019-09-27 15:07:44

同学你好, 先来分析为什么alert出来是undefined, 因为document.write()方法返回的结果是undefined, 所以最后调用check函数return的都是undefined

然后, 再来看代码的问题, 同学的整体思路是可以, 不过, 可以直接返回字符串即可, 这样在用户输入内容之后, 就可以弹出提示信息了

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

同学可以自己下去再测试一下哦

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

祝学习愉快~~~~

  • 提问者 慕UI9243256 #1
    老师,再请教下 我想要提示错误后重复循环到输入密码框,直到正确的密码才退出,需要怎么修改才是正确的? 直接将‘continue’添加到if 语句里,控制台报‘Can't have 'continue' outside of loop’? <script> var pwd=prompt('请输入您的密码用于验证'),len=pwd.length; function check(pwd){ if(len<6){ alert ('错误,小于六位数'); pwd = prompt('请输入您的密码用于验证') ; continue; }else if(len>12){ alert ('错误,多于十二位数'); pwd = prompt('请输入您的密码用于验证'); continue; }else{ alert ('恭喜您,验证成功!!'); pwd = prompt('请输入您的密码用于验证'); } } console.log('长度是' + len); //想查看len反馈长度,自行排查 alert(check(pwd)); </script> 以上代码中不添加‘continue’就只能循环一次,而非一直循环直到正确才退出
    2019-09-28 11:00:47
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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