JavaScript输入若干数,输出最大值最小值。如果输入的数字都是小于100,最大值正常;但是输入超过100的会出现最大值错误,详情描述看内容

问题遇到的现象和发生背景

问题描述
1.比如输入-10 1 50 99这四个数字 ,输出结果是正常,最小值-10,最大值99;

img

2.若输入-10 1 50 100(这里有一个超过99的数字都是这种情况),输出结果最小值就是-10,最大值是50

img

问题相关代码,请勿粘贴截图
<script>
            var maxNum = 0;
            var minNum = 0;
            var i = 1;
            
            while (true){
                var num = prompt("请输入一个整数(输入0结束):");
                // 输入0结束循环
                if (num == 0){
                    break;
                }
                
                //将第一次输入的数值赋给最大值最小值
                if (i == 1){
                    maxNum = num; //将这行代码注释,无问题
                    minNum = num;
                }
                if (num > maxNum){
                    maxNum = num;
                }else if (num < minNum){
                    minNum = num;
                }
                i++;
            }
            document.write("最大值"+maxNum);
            document.write("最小值:"+minNum);
        </script>
运行结果及报错内容

1.正常输出
10 1 50 99这四个数字 ,输出结果是正常,最小值-10,最大值99;
2.错误输出
-10 1 50 100(这里有一个超过99的数字都是这种情况),输出结果最小值就是-10,最大值是50(这里最大值一定是小于100的最大值)

我的解答思路和尝试过的方法

1.尝试将第一次输入值赋给最大值删除(maxNum = num;),问题解决。

我想要达到的结果

1.想知道为什么会出现这种情况

var num = parseInt(prompt("请输入一个整数(输入0结束):"));
应该改成这样,不然你就只是在对比字符串了~~

我刚刚打断点看了下,只要不超过99就没问题,但是如果输入100就不会进入判断里面,会不会是数据类型的锅呢