这个里面的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>

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

只删除else,那么无论if是否满足

只删除else的话无论满不满足if的条件,if语句里面的内容执行完之后就会执行else里面的语句造成无限循环然后崩溃。