宝慕林6291606
2018-12-18 16:27
function checkone(){ var j=document.getElementById("wb").value; if(j<1 || j>6){ alert("输入错误,请重新输入!!!"); } else{ //clearall(); var hobby=document.getElementsByName("hobby"); hobby[j-1].checked=true; } }
document.getElementById("wb").value返回的是字符,那为什么还可以和1,6比较大小,而且用作数组的索引也没问题,不需要parseInt(j)的嘛?
你如果输入的是数字就是数字。。不是什么字符串。。你所说的为什么不用parseInt()这个函数。。场景是不需要用。。为什么呢?因为你这就是一个简单的数字比较,并没有做连接。。你如果把j-1改成j+1。这个时候问题就来了。系统就无法判断你这个j+1是做字符串连接还是做运算了。。懂吗? 不信你可以测试一下。。望采纳
懂了,取到的值是字符,但是和数字有操作,就会转换为数字了,所以j-1是没问题的,j+1有问题,因为系统可能认为是字符连接,而不是数字操作。
但是,如果下标为j,为什么也是正确的?
JavaScript进阶篇
468195 学习 · 21891 问题
相似问题