#yyds干货盘点#JavaScript – NaN

在数字中除了Infinity这个英文之外,还有个比较特殊的代表数字的英文NaN。NaN的非缩写为Not a Number,即不是一个数字,它是一个特殊的数值,它本身代表返回的数字并不是数值的情况,这样就可以有效的在JavaScript中避免错误了。因为在其他编程语言,任何数字处以0都会导致错误,造成代码的执行。但是在ECMAScript中,任何数字除以0只会返回NaN,因此并不会影响代码的执行。 不过NaN本身有两个非常寻常的特点。首先,NaN和任何内容的操作结果还会是NaN,所以在多步计算中一定要注意,不然结果可能就会因为这个特点变成NaN了。其次,NaN与任何内容都不想等,包括自己本身。例如: 不过针对NaN的这两个特点,ECMAScript还特别定义了isNaN()函数来帮助我们判断NaN值。这个函数可以接收一个参数,这个参数可以接受任何类型,然后这个函数可以帮助我们判断这个参数是否为所谓的NaN值。当它接受参数时,它会优先把这个值通过Number()方法转化为数值。如果最终可以转化为数值的话则返回false,而如果不能被转化的数值则会返回true。例如: 我们可以通过上述的例子看到,测试的第一个值本身是NaN,所以结果自然会返回true。然后测试了数字5和字符串29,返回结果都为false,因为字符串会通过系统默认的Number()方法,所以会变成数字,所以最终结果都不是NaN。Boolean值true本身可以转化为1,因此函数返回false。不过字符串“leo”不能被转化为数值,所以函数就会返回true了。 不过值得一提的是,isNaN()也可以适用于对象。在基于对象为参数调用isNaN()函数方法时,会优先调用对象的valueOf()方法,然后在确定该方法返回的值是否可以转为数值。如果不能,那么则基于这个返回值再调用toString()方法,再测试返回值。这个过程也是ECMAScript中内置函数和操作符的一般执行流程。

暗黑源码库包揽全网大多数网站源码教程,提供小程序、公众号、APP、H5、商城、支付、游戏、区块链、直播、影音、小说等源码教程,注册会员可免费学习交流。
用户必须遵守《计算机软件保护条例(2013修订)》第十七条:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。鉴于此条例,用户从本平台下载的全部源码(软件)教程仅限学习研究,未经版权归属者授权不得商用,若因商用引起的版权纠纷,一切责任均由使用者自行承担,本平台所属公司及其雇员不承担任何法律责任。
暗黑源码库 » #yyds干货盘点#JavaScript – NaN
赞助VIP 享更多特权,立即登录下载海量资源
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡