javascript - isNaN()判断跟parseInt()不一致吗?
迷茫
迷茫 2017-04-10 15:41:54
[JavaScript讨论组]
<script>
var myString=" " //空格字符

alert(parseInt(myString)); //返回NaN

alert(isNaN(myString));  //返回false


</script>

本人有点疑惑,为什么这两个不都是NaN?

第二个为什么不是true?

isNaN()在处理字符串时调用的什么转换方法?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
PHPz

使用isNaN函数
会尝试将其中的参数做类型转换
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN

Number.isNaN(value);//不进行类型转换,如果value不是Number类型,直接返回false

巴扎黑

NaN是js里面一个特殊的类型,并不是说只要不是数字就是NaN的,isNaN只能用来判断是不是NaN,不能用来判断是不是数字,当然可以和parseInt结合来判断,parseInt在碰到不能转化的非数字的时候就会返回NaN,这时就可以用isNaN判断

PHP中文网

顾名思义:isNaN 就是说 是不是NaN,如果是的话,就返回true,如果不是的话,就返回false。
NaN的类型是number,myString的类型是string,当然不能是NaN,当然要返回false。
另外parseInt是将一个字符串解析成整数,当这个字符串不能被解析成整数的时候就会返回NaN。
所以你可以这样
isNaN(parseInt(myString));
即可得到true

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号