$.isNumeric和!isNaN()有什么区别吗?
我看不出他们会在哪里返回不同的结果。
发布于 2011-11-05 00:46:36
来自jQuery博客:
在jQuery中,我们已经发现了几种情况,我们需要知道参数是否是数字,或者如果参数是其他类型,就可以成功地转换为数字。,
,jQuery。我们决定编写并记录jQuery.isNumeric(),因为它是一个有用的实用程序。向它传递任意类型的参数,它会根据需要返回true或false。
jQuery.isNaN():此未记录的实用函数已被删除。它之所以令人困惑,是因为它借用了内置JavaScript函数的名称,但没有相同的语义。新的jQuery.isNumeric()服务于类似的目的,但具有文档记录和支持的好处。尽管jQuery.isNaN()没有文档记录,但Github上的几个项目正在使用它。我们已经联系了他们,并要求他们使用jQuery.isNumeric()或其他解决方案。
另请参阅票证:http://bugs.jquery.com/ticket/10478
jQuery的isNumeric()检查值是数字还是可以转换为数字。
编辑
为了进一步阐明isNan()的作用(以及NaN值是什么):
ECMA-262标准将NaN分类为原始值,表示指定的值不是合法的数字。如果参数不是数字,则函数返回true;如果参数是数字,则返回false。
NaN的经典示例是零除以零,0/0
Code:
document.write(isNaN("Ima String"))
document.write(isNaN(0/0))
document.write(isNaN("348"))
document.write(isNaN(348))
Output:
true
true
false
falsehttp://www.devguru.com/technologies/ecmascript/quickref/isnan.html
半离题,但相关的是this short talk
发布于 2011-11-05 00:58:15
正如PeeHaa所说,$.isNumeric()检查值是否为数字或是否可以转换为数字,而isNaN()仅严格检查值是否为NaN。
下面是一个使用jQuery documentation's示例的比较图表(为了更容易比较,比较$.isNumeric()和!isNaN ):http://jsfiddle.net/eghE9/
https://stackoverflow.com/questions/8012807
复制相似问题