JavaScript语言精粹(一) — 数字、NaN和Infinity
来源:互联网 发布:电子商务的域名 编辑:程序博客网 时间:2024/06/10 13:45
数字
JS中只有一个单一数值类型,内部表示为64位整数,(Java中的double)。没有单独分离出整数类型,所以1和1.0是相等的。
> 1 == 1.0true
这样,完全避免了短整数溢出的问题及一大类因为数字类型导致的错误。
NaN
NaN是一个数值,表示一个不能产生正常计算结果的运算结果,NaN不等于任何值,包括它自己。
> typeof NaN'number'
> NaN == NaNfalse> NaN !== NaNtrue
可以用isNaN( number ) 来检测 NaN
> isNaN(NaN)true
isNaN会隐式的将入参转换成数字,如果不能转换成数字(不能转数字的字符串,{},[] 等),那么也会返回NaN
> Number('ABC')NaN> isNaN('ABC')true
可以利用NaN的特性 x !== x 来判断NaN,避免上述隐式转换的问题。
function myIsNaN(x) { return x !== x;}
Infinity
用0做除数会产生一个特殊值Infinity(无穷大)。
> 3/0Infinity
正负无穷运算:无法得到运算结果
> Infinity - InfinityNaN
比正无穷大的,还是正无穷
> Infinity + InfinityInfinity> 4 * InfinityInfinity
参考:http://www.cnblogs.com/ziyunfei/archive/2012/09/19/2690866.html
书籍:JavaScript语言精粹
0 0
- JavaScript语言精粹(一) — 数字、NaN和Infinity
- JavaScript:NaN和Infinity
- JavaScript中的NaN、Infinity、null和undefined
- Infinity和NaN
- NaN和Infinity
- java NAN 和 INFINITY
- NaN和Infinity区别
- ④写给后端工程师的JavaScript教程——js有趣的非数字值NaN、Infinity
- C# 中的 Infinity 和 NaN
- Java中的NaN和Infinity
- Java中的Infinity和NaN
- Java中的Infinity和NaN
- Java中的Infinity和NaN
- Java中的Infinity和NaN
- C#的Infinity和NaN
- java中Infinity和NAN
- Java中的Infinity和NaN
- Java中的Infinity和NaN
- A* A星 算法 C语言 实现代码
- cs231n课程资料Python Numpy Tutorial的Python3版本
- 基于NaiveBayse SVM KNN的Python垃圾短信过滤系统 附代码
- git 常用命令
- ListView 还没有setAdapter时候,headerView不显示?
- JavaScript语言精粹(一) — 数字、NaN和Infinity
- Android应用程序资源的编译和打包过程分析
- 润乾报表中API自定义数据集
- 说说行内元素与块级元素以及之间的转换?
- Retrofit+Rxjava服务器IP轮询重试机制实现
- 1212
- 第十五周OJ(6)将字符串插入到另一个字符串的指定位置(串)
- 开发一个Toolbar小demo的步骤
- Unity5.x Animator之BlendTree