<script>
var myString=" " //空格字符
alert(parseInt(myString)); //返回NaN
alert(isNaN(myString)); //返回false
</script>
本人有点疑惑,为什么这两个不都是NaN?
第二个为什么不是true?
isNaN()在处理字符串时调用的什么转换方法?
<script>
var myString=" " //空格字符
alert(parseInt(myString)); //返回NaN
alert(isNaN(myString)); //返回false
</script>
本人有点疑惑,为什么这两个不都是NaN?
第二个为什么不是true?
isNaN()在处理字符串时调用的什么转换方法?
NaN是js里面一个特殊的类型,并不是说只要不是数字就是NaN的,isNaN只能用来判断是不是NaN,不能用来判断是不是数字,当然可以和parseInt结合来判断,parseInt在碰到不能转化的非数字的时候就会返回NaN,这时就可以用isNaN判断
顾名思义:isNaN 就是说 是不是NaN,如果是的话,就返回true,如果不是的话,就返回false。
NaN的类型是number,myString的类型是string,当然不能是NaN,当然要返回false。
另外parseInt是将一个字符串解析成整数,当这个字符串不能被解析成整数的时候就会返回NaN。
所以你可以这样isNaN(parseInt(myString));
即可得到true
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
使用isNaN函数
会尝试将其中的参数做类型转换
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN
Number.isNaN(value);//不进行类型转换,如果value不是Number类型,直接返回false