小羊也疯狂 2018-05-06 06:46 采纳率: 100%
浏览 879
已采纳

这个里面的else不加 。为什么点击完以后页面就奔溃了,逻辑没想明白

else里面的代码不删除,只删除else
图片说明

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>判断数字是否是两位数</title>
    <style>
        main{
            width: 200px;
            margin: 20px auto;
        }
    </style>
</head>
<body>
    <main>
        <input type="text" style="width: 50px" >
        <button>判断位数</button>
    </main>
    <script>
        let oinput  = document.getElementsByTagName('input')[0];
        let obtn = document.getElementsByTagName('button')[0];
        obtn.addEventListener('click',function () {
            if(!oinput.value){alert('请输入数字')}
            else{
                let num = parseInt(oinput.value);
                alert('这是'+getDigit(num)+'位数');
            }
        });
        oinput.onkeyup = function ()
        {
            this.value = this.value.replace(/[^\d]/,"")
        };
        function getDigit(num) {
            if(num ===0) return 0;
            let digit = 0;
            while(num!==0){
                digit++;
                num=parseInt(num/10);
            }
            return digit;
        }

    </script>
</body>
</html>
  • 写回答

3条回答 默认 最新

  • threenewbee 2018-05-06 06:49
    关注

    只删除else,那么无论if是否满足,都会走其中的代码,当oinput.value无效,无法转换的时候
    let num = parseInt(oinput.value);
    就会丢出异常

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

报告相同问题?

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作