ECMAScript之Number和String类型重点小解

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

上一篇:《ECMAScript之变量概括重点小解》

作者主页: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/4750957.html

下一篇:《ECMAScript之操作符重点小解》

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

你可能感兴趣的:(ECMAScript之Number和String类型重点小解)