我有这个 HTML:
<input type="number" id="num">
<input type="submit" onclick="test()">
这个脚本:
function test() {
var num = document.getElementById("num").value;
alert(num === 1);
那么当我输入 1 作为输入时,为什么会得到 false
呢?
如果我尝试 alert(num - 1 === 0);
而不是 alert(num === 1);
我得到 true
.为什么会出现这种情况?
最佳答案
表单控件的值始终是字符串(type="number"
只是要求浏览器强制该字符串包含数字)。您可以使用 +
、parseInt
或 parseFloat
将其转换为数字。您还可以比较 "1"
而不是 1
。
如果您subtract字符串中的数字,JavaScript 会在执行减法之前将字符串转换为数字,然后将结果计算为数字。
关于javascript - 检查 HTML 输入问题的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26207337/