四:基本类型(1):数值与Number

数值

1:特征:

  • 不区分整数值和浮点数值
  • 所有数值均采用浮点数值表示

2:整数直接量

  • 除十进制外,JavaSceipt能识别十六进制、二进制和八进制
  • 但在ES6严格模式下,禁止使用八进制

3:浮点数直接量

  • 实数由整数部分,小数点和小数部分组成
  • 指数计数法,在实数部分后跟E或者e,再跟正负号,再跟一个整数形式的指数。(512E-15)

4:算数运算

  • 运算符:包括:+、-、*、/、%、**(指数运算,ES6新增)
  • 溢出(overflow):当数值运算结果超过了JavaScript上限时发生,结果位infinity,若超过了负数范围,则为-infunity,基于±infinity的运算依旧为infinity。
  • 下溢:当运算结果无限趋近于0、并比JS能表示的最小值还小时发生,JavaScript会返回0,当一个负数发生下溢时,会返回-0
  • 被0整除:返回±infinity.

5:二进制浮点数与四舍五入错误

  • 实数有无限个,但是JavaScript只能表示有限个。当JavaScript使用实数时,常常只是真实值的一个近似表示,IEEE-754浮点数表示法是一种二进制表示法,能精确表示分数,如:1/2、1/8等,但是常用的分数都是十进制,二进制不能精确表示类似0.1(1/10)这样的简单数值。如:0.3-0.2显示结果为0.999999999999999,为了避免这类问题,建议使用大整数进行等比修正。如:3-2.

6:数值转换

  • JavaScript提供了三个函数可将非数值转化为数值。
    Number()、parseInt()和parseFloat()。具体内容可一参考相应的文档。

7:对应与数值的应用类型

  • 创建一个Number对象的构造函数:
    如:let num=new Number(10);
  • 常用方法:
    • toString(),返回数值对象是字符串表示。num.toString();num.toString(2)
    • toLocaleString(),返回数值对象的本地字符串表示。num=new Number(123456);num.toLocaleString();
    • valueOf(),返回数值对象的原始数值。num.valueOf();
    • toFixed(n),返回包含指定小数位数的数值字符串,其中n表示小数位数。num=new Number(10.005);num.toFixed(2);
    • toExponential(n),返回科学计数法表示的数值字符串,其中n表示小数位数。num=123;num.toExponential(3);
    • toPrecision(n),返回数值最恰当的形式,其中n表示结果中数值的总位数(不包含指数)num=99;num.toPrecision(1);num.toPrecision(3);本质上他会根据数值和精度来调用toFixed()和toExponential()。

注:为了精确小数位数的表示,以上三个方法都会四舍五入。

  • Number.isFinite():用于检查一个数值是否有限,若参数类型为非数值,一律返回false。
  • Number.isNaN():用于检查一个数值是否为NaN。若参数类型不是NaN,一律返回false。
  • Number.parseInt()与Number.parseFloat():ES6将这两个全局方法移植到Number对象中,行为完全保持不变。
  • Number.isIntger():用于判断一个数值是否为整数,如果参数不是整数,一律返回false。
  • Number.EPSILON:常量,表示1与大于1的最小浮点数之间的差。
    • 意义:JS中采用64为储存浮点数,大于1的最小浮点数为1.00…001,其中有51个连续的0;这个值减去1之后,就等于2的-52次方,世界上该范围表示JavaScript的最小值,从而在浮点运算时用于确定误差范围。
      在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

G. U. Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值