Javascript 值为number的隐藏字段元素始终返回字符串

Javascript 值为number的隐藏字段元素始终返回字符串,javascript,html,Javascript,Html,考虑以下代码: HTML: 或者看看这个 正如您所看到的,我为HTML隐藏元素的value属性放置了一个数字。 我对这件事进行了研究,除了使用typeof函数来显示我所看到的是什么样的数据类型之外,没有发现任何东西 我不知道它是否也有效,在value属性中放置一个未量化的数字 但我想完成的事情是,存储一个隐藏在UI之外的数字,然后将其取回,并正确地将其作为数字显示回屏幕 已经搜索了3天了,橡皮鸭还没有任何效果。 我的办公室里没有JS专家 非常感谢,正如p.s.w.g所说,输入值是字符串。如果您真

考虑以下代码: HTML:

或者看看这个

正如您所看到的,我为HTML隐藏元素的value属性放置了一个数字。 我对这件事进行了研究,除了使用typeof函数来显示我所看到的是什么样的数据类型之外,没有发现任何东西

我不知道它是否也有效,在value属性中放置一个未量化的数字

但我想完成的事情是,存储一个隐藏在UI之外的数字,然后将其取回,并正确地将其作为数字显示回屏幕

已经搜索了3天了,橡皮鸭还没有任何效果。 我的办公室里没有JS专家


非常感谢,

正如p.s.w.g所说,输入值是字符串。如果您真的想将其转换为数字类型,只需使用一元+运算符

var num = +document.getElementById("test").value;

这里更新了fiddle:

正如p.s.w.g所说,输入值是字符串。如果您真的想将其转换为数字类型,只需使用一元+运算符

var num = +document.getElementById("test").value;

更新了这里的fiddle:

所有输入值都是字符串。无论指定什么值,它都将转换为字符串。请将其转换回整数。嗨,先生们,你们知道我如何使事物动态化吗?当它们是int时,将它们转换为int,否则转换为string。使用typeof函数只是为了让您知道哪些值应该是数字,哪些应该是字符串。因此,您应该将这些知识应用到您的代码中。使用parseInt(document.getElementById(“test”).value,10)表示整数,或使用parseFloat(document.getElementById(“test”).value)表示十进制值-不使用命令的大小写。所有输入值都是字符串。无论指定什么值,它都将转换为字符串。请将其转换回整数。嗨,先生们,你们知道我如何使事物动态化吗?当它们是int时,将它们转换为int,否则转换为string。使用typeof函数只是为了让您知道哪些值应该是数字,哪些应该是字符串。因此,您应该将这些知识应用到代码中对于十进制值-不使用命令的大小写。您知道如何动态测试隐藏字段中的值是数字还是字符串吗?@LeeJeong您可以在将其转换为数字之前使用正则表达式<代码>/^\d+$/如果您只关心整数。如果您想测试浮点数,它会稍微复杂一些。
/^\d*\.\d+$^\d+\.\d*$/
。对于其他可能会出错的读者:如果您想从隐藏元素(或我猜的任何元素)的属性值中知道值是数字还是字符串,请使用“+”一元运算符。与字符串一起使用时返回“NaN”,否则返回数字。查看此提琴:请注意,一元运算符返回空字符串的
0
而不是
NaN
。您知道如何动态测试隐藏字段中的值是数字还是字符串吗?@LeeJeong您可以在将其转换为数字之前使用正则表达式<代码>/^\d+$/如果您只关心整数。如果您想测试浮点数,它会稍微复杂一些。
/^\d*\.\d+$^\d+\.\d*$/
。对于其他可能会出错的读者:如果您想从隐藏元素(或我猜的任何元素)的属性值中知道值是数字还是字符串,请使用“+”一元运算符。与字符串一起使用时返回“NaN”,否则返回数字。查看此小提琴:请注意,对于空字符串,一元运算符返回的是
0
,而不是
NaN
var num = +document.getElementById("test").value;