ES6里数值的扩展和Math对象新增的方法

二进制和八进制数值表示法

ES6提供了二进制和八进制数值的新写法,分别用前缀0b和0o表示。

0b111110111 === 503 //true

0o767 === 503 //true
八进制用0o前缀表示的方法,将要取代已经在ES5中被逐步淘汰的加前缀0的写法。

Number.isFinite( )和Number.isNaN( )

ES6在Number对象上,新提供了 Number.isFinite( )和Number.isNaN( )两个方法,分别用于检测是不是数字,是数字就返回true否则返回false。它们与传统的 isFinit( )和 isNaN( )的区别在于,传统方法先调用Number( )将非数值的值转为数值,再进行判断,而这两个新方法只对数值有效,对于非数值一律返回 false.

console.log(isFinite(25));   //true  
console.log(isFinite("25"));  //true   
console.log(Number.isFinite(25));   //true
console.log(Number.isFinite(25"));  // false  
console.log(isNaN(NaN));  //true  
console.log(isNaN("NaN"));  //true
console.log(Number.isNaN(NaN));  //true     
console.log(Number.isNaN("NaN"));  // false

Number.isInteger( )

Number.isInteger( )用来判断一个数是否为整数。需要注意的是,在JS内部,整数和浮点数使用同样的储存方法,所以3和3.0被视为同一个数。

console.log( Number.isInteger(25)  );  // true
console.log( Number.isInteger(25.1)  );  // false
console.log( Number.isInteger(25.0)  );  // true

Number.parseInt( )和Number.parseFloat( )

Number.parseInt( )方法可以根据给定的进制数把一个字符串解析成整数。

语法是:

Number.parseInt(string,[ radix ])
参数string:要解析的值。如果此参数不是字符串,则使用ToString抽象操作将其转换为字符串。忽略此参数中的前导空格。
参数radix:一个介于2到36之间的整数,代表字符串的基数(数学数字系统中的基)。没有指定基数时,默认为10。

从给定字符串中解析的整数。如果基数小于11,且第一个非空白字符不能转换为数字,则返回NaN。

console.log( Number.parseInt ===  parseInt );  //true
console.log( Number.parseInt(100.20) );  //100
console.log( Number.parseInt ( -1.20) );  // -1
console.log( Number.parseFloat ( -1.20) );  // -1.2
console.log( Number.parseFloat ( true) );  // NaN

安全整数

安全整数的范围在-253到253之间(注意不包含这两个边界值),Number. isSafeInteger( )则用来判断一个整数是否落在这个范围之内.ES6引入Number.MAX_SAFE_ INTEGER和 Number. MIN_SAFE_INTEGER这两个常量,用来表示这个范围的上下限
在这里插入图片描述

Math对象的扩展方法

先来回顾一下我们的数学方法Math,之前学习过Math.abs(x)用于求x的绝对值; Math.sqrt(9)用于求9的平方根,结果为3 Math.random() 函数返回为随机数在范围从0到小于1,也就是说,从0(包括0)往上,但是不包括1的浮点数。
Math.floor(x)表示将x向下取整。
Math.pow(x,y)求x的y次幂,比如Math.pow(2,3)表示求2的3次方是多少。
Math.round() 返回四舍五入后的整数
Math.ceil(x)是将x向上取整,比如 Math.ceil(12.2) // 13

Math.trunc( )方法
ES6新增的Math.trunc( )方法截取,只保留整数部分。

console.log( Math.trunc(4.1) );      //4
console.log( Math.trunc(4.9) );     //4
console.log( Math.trunc(-4.1) );     //-4
console.log( Math.trunc(-4.9) );    //-4

Math.sign( )方法
ES6新增的Math.sign( X )方法用于判断一个数X到底是正数,负数还是0,如果X是正数就返回1负数就返回-1否则返回0。

console.log( Math.sign(-5) );   // -1
console.log( Math.sign(5) );   // 1
console.log( Math.sign( 0 ) );   // 0

Math.cbrt( )方法
我们知道,开平方根用Math.sqrt( ),而ES6新增的Math.cbrt( X )方法用于将一个数X开立方根。

console.log( Math.sqrt( 16 ) );   // 4
console.log( Math.cbrt( 27 ) );   // 3

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值