回答
isNaN
需要一个整数作为参数 - 因此JS转换""
到0
parseInt
采用字符串作为参数 - 因此一个空字符串不是数字
已经回答 - 重复http://stackoverflow.com/questions/825402/why-does-isnan -equal-false –
'isNaN'不接受一个“整数”,它*期望*一个数字(所有IEEE-754双打,例如'isNaN(0.5)'产生'false'),这就是为什么它试图*将参数值转换为数字 – CMS
您的权利 - 但我试图保持简单的逻辑。 –
这是因为""
相当于零在JavaScript中。尝试"" == 0
。这意味着如果你尝试用数值方程来评估它,它会变成0.当你解析它的时候,它意识到那里什么都没有。
作为parseInt
的替代方法,您可以使用Math.floor
。这会给你0
为""
。
你是什么意思的“是等价的”? – Kos
- 1. isNaN为parseInt函数()返回false
- 2. 与模型混淆vs ViewModel
- 3. Symfony 1.4 vs Symfony 2.0混淆
- 4. JSPM bundle vs requireJs混淆
- 5. javascript中的isNaN和Number.isNaN之间的混淆
- 6. 代码级混淆器vs装配混淆器
- 7. parseInt vs isDigit
- 8. math.round vs parseInt
- 9. SQLServer2008:混淆或混淆
- 10. 混淆“initial-scale = 1.0” - iphone 3GS vs 4
- 11. 供应商vs供应商混淆
- 12. VS2008 - Windows窗体编辑混淆VS
- 13. 的JavaScript混淆参照VS值
- 14. R:与apply()vs for循环混淆
- 15. C++ fstream混淆
- 16. 混淆
- 17. .net混淆问题
- 18. JavaScript预定义函数(parseInt,parseFloat,isNaN等)的算法
- 19. LinqToSql混淆
- 20. 混淆sortUsingSelector
- 21. NSManagedObjectContext混淆
- 22. JavaScript BlockStatement混淆
- 23. 混淆PixelFormat
- 24. 混淆global.asax?
- 25. web.py/pythonpath混淆
- 26. 混淆WakefulBroadcastReceiver
- 27. 混淆选项
- 28. 混淆和GPL
- 29. 混淆和jOOQ
- 30. iphone SDK混淆
可能的重复http://stackoverflow.com/questions/825402/why-does-isnan-equal-false –
因为'isNaN'不使用'parseInt'? –
关键是要了解**类型转换**和**解析**,后面的'isNaN'之间的区别,将它的参数类型转换为'Number'类型,而'parseInt'将尝试*解析*提供的字符串。另见:http://stackoverflow.com/questions/4090518/string-to-int-use-parseint-or-number – CMS