请老师看一下代码

请老师看一下代码

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>手机号码验证</title>

</head>

<body>

    <script>

//补充代码

var num=prompt("请输入您的手机号码");

if(num.length!=11){

    alert("请输入11位手机号码");

}else if(isNaN(num)){

    alert("输入的手机号码必须是11位数字");

}else{

    alert("号码输入正确")

}

</script>

</body>

</html>


还有个问题就是多个条件用else if 和直接用if有什么区别吗

正在回答

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

2回答

同学你好,代码效果实现挺好的。 还可以继续优化一下代码,让代码逻辑更严谨

  1.   在点击“取消”的时候,使用length属性会报错。

  建议修改:使用之前判断用户是否输入内容

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

2. else..if 和 if的区别

   2.1  使用 else if  遇到满足条件的情况,即使后面还有else if都不会再作比较了,

  2.2  使用if 的时候,每个语句都会被比较一下是否满足条件,即使已经满足条件了, 后面还有if语句, 会继续比较

同学可以结合下面示例代码练习一下,帮助自己理解两者的区别

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


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

同学如果还有不明白的地方可以在问答区提问,老师会帮助你找解决方案的

如果解决了你的疑惑,欢迎采纳,祝学习愉快~~~~


  • 这位老师,我不懂你这个优化代码是什么意思?能详细讲一下吗?增加"num&&"这个代码不是错误的吗?
    2019-03-22 15:30:05
好帮手慕慕子 2019-03-22 19:02:28

同学你好, 这种写法是可以的哦,

1.  &&符号表示逻辑与操作,当两个操作数同时为真时,最终结果为真。有一个操作数为假时,最终结果为假

2. 这个操作符还是一个短路操作,意思就是,当第一个操作数为假时可以决定最终结果的时候,就不会向后执行,验证第二个操作数的

3. 举例:

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

 上面这种情况在没有声明someOne这个变量的时候, 会报错, 因为flag为真,不能确定最终的结果,代码会继续向后执行,验证第二个操作数,此时someOne没有声明就使用了这个变量, 所以会报错。


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

上面这种情况, 即使没有声明someOne这个变量,程序也不会报错,而是返回第一个操作数。


综上: 使用 num && num.length 这种写法,就是利用&&操作符的这个特性,防止num不存在时,调用length方法报错


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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