Me_blackDog 2016-09-28 09:53 采纳率: 75%
浏览 783
已采纳

谁帮我看看javascript以下这段代码到底问题在何处?

            var n=parseInt(Math.random()*(9-0+1)+0);
            var input="";
            while(true){
                input=prompt("你猜");
                if(input=="exit"){
                    console.log("放弃了");
                    break;
                }else if(input<"0"||input>"9"){
                    console.log("输入的不是一个数字?");
                }else if(input>n){
                    console.log("大了");
                }else if(input<n){
                    console.log("小了");
                }else if(input==n){
                    console.log("猜对了");
                    break;
                }
            }
         </script>

代码中有这么一段代码
(input<"0"||input>"9"){
console.log("输入的不是一个数字?");
}
如果说这段代码是来判断用户输入的是不是一个数字,那么我在input输入英文,中文,符号使它触发这段代码的操作!我可以理解!
但是我不理解为什么我在input输入902这个数字,也会触发这段代码的操作?
更不理解为什么我换了一个三位数的数字反而不会触发这段代码的操作?

求指点呀?!

  • 写回答

6条回答 默认 最新

  • 斯洛文尼亚旅游 2016-09-28 10:03
    关注

    字符串比较只比较第一个,所以"102">"9"是不成立的,因为第一位1小于9直接false了,除非你转为数字后对比。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 爬虫爬取网站的一些信息
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错