【发布时间】:2015-10-16 10:44:50
【问题描述】:
我有这个 html:
<input type='number' id='length' step='0.1' min='0'; max='5'>Length
还有这个 Javascript
num=document.getElementById('length').value;
if(num==1 || 2 || 3 || 4|| 5){
num='0'+num;
}
我的问题是:虽然我只希望括号内的代码在输入的数字是整数时执行,但如果它检测到 0.8 或其他小数,它也会激活。任何想法为什么?我如何解决它?谢谢。
【问题讨论】:
-
javascript中没有整数,只有
numbers。此外,在计算数字时,除 0 之外的所有值都等于true所以|| 2等于true -
你的
if逻辑坏了。 -
除非你只想要那些特定的整数,否则使用这样的东西,而不是长的
if:stackoverflow.com/questions/3885817/… -
num==1 || 2 || 3 || 4|| 5实际上意味着(num==1) || (2) || (3) || (4) || (5),因此您的代码将始终评估为真 -
if语句与 jQuery 无关。这是基本的 JavaScript。
标签: javascript html input integer