转载

盗“书”笔记——JavaScript Notes(三)

置顶文章: 《纯CSS打造银色MacBook Air(完整版)》

上一篇: 《盗“书”笔记——JavaScript Notes(二)》

作者主页:myvin

博主QQ: 851399101 (点击QQ和博主发起临时会话)

写在前面

接着上一篇 盗“书”笔记——JavaScript Notes(二) 聊。

Number类型

浮点

ecmascript中,浮点数值的最高精度是17位小数,但是在算数计算时精度还是远不如整数。

因为浮点运算会出现舍入不准的问题,所以千万不要测试某个特定的浮点数值。看下面的例子:

console.log(0.1+0.2)

打印出来的结果是:

0.30000000000000004

所以千万不要出现诸如这样的测试:

if(a+b==0.3)

关于浮点计算造成这样的原因需要说明一下:

浮点计算会出现误差的问题,是因为ecmascript的浮点计算是基于IEEE754数值的浮点计算的通病,只要是使用该数值格式的语言都有此问题。

数值范围

ecmascript中,数值的范围是 Number.MIN_VALUENumber.MAX_VALUE 。我们可以打印出来看看结果:

console.log(Number.MIN_VALUE) 5e-324  console.log(Number.MAX_VALUE) 1.7976931348623157e+308

这个数值范围应该足以我们用了。如果超出了这个范围就会输出 Infinity ,负数的话就是 -InfinityNumber.POSITIVE_INFINITYNumber.NEGATIVE_INFINITY 也分别指的是 Infinity-Infinity

数值转换

关于Number的数值转换的函数有三个:

  • Number()
  • parseInt()
  • parseFloat()

其中, Number() 函数规则比较繁琐,且转换规则不够合理,所以较常用的是 parseIntparseFloatparseIntparseFloat 是专门用于把字符串转换为数值的。

parseInt 从字符串的开始解析,一直解析到无效的数字字符停止,建议使用时指定转换基数;

parseFloat 从字符串的开始解析,一直解析到无效的浮点字符,因为该函数只解析十进制,所以也没有指定转换基数只一说。

String类型

把一个值转换为字符串可以用 toString 方法,数值。布尔值。对象和字符串都有该方法, nullundefined 没有该方法。所以,在无法判断需要转换的值是否为 nullundefined 的时候,可以使用转型函数 String() 。关于 String() 函数的转换规则如下:

  • 如果需要转换的值有 toString() 方法,则调用该方法,是不带参数的调用
  • 如果需要转换的值是 null ,则返回 null
  • 如果需要转换的值是 undefined ,则返回 undefined

还有一点需要注意:

toString()是方法,String()是函数,所以调用方法是不一样的**

value.toString(); String(value);

分别调用的格式如上。

转载请记得说明作者和出处哦-.-

作者:myvin

原文出处: http://www.cnblogs.com/myvin/p/4730029.html

上一篇: 《盗“书”笔记——JavaScript Notes(二)》

置顶文章: 《纯CSS打造银色MacBook Air(完整版)》

正文到此结束
Loading...