ES6——内置对象:数值的方法、Math对象的扩展

99 阅读2分钟

数值的表示:

二进制:前缀0b或0B。例如:0b11===3

八进制:前缀0o或0O。例如:0o11===9

数值的方法:

1.Number.isFinite():用于检查一个数值是否为有限的( finite ),即不是 Infinity.

注意:

  1. NaN不是有限的;
  2. Number.isFinate 没有隐式的 Number() 类型转换,所有非数值都返回 false

2.Number.isNaN():用于检查一个值是否为NaN。

注意:

  1. 在全局的 isNaN() 中,以下皆返回 true,因为在判断前会将非数值向数值转换
  2. 而 Number.isNaN() 不存在隐式的 Number() 类型转换,非 NaN 全部返回 false

image.png

3.Number.parseInt(参数1,参数2)

参数1:传入的值;

参数2(可选):指定进制,如果不写,默认10进制

注意:与全局的 parseInt() 函数是同一个函数,代表的是向下取整,它会截取参数的中出现除数字以外的内容的前面的部分,进行向下取整。

image.png

image.png

4.Number.parseFloat():

作用:将一个字符串解析成浮点数,如果无法被解析成浮点数,则返回NaN

注意: 与全局的 parseFloat() 方法是同一个方法,它会截取参数的中出现除数字以外的内容的前面的部分,在此基础上进行操作。

image.png

image.png

5. Number.isInteger(value):

作用:判断给定的参数是否为整数。

6.Number.isSafeInteger():

作用:用于判断数值是否在安全范围内。

Math对象的扩展

1.Math.cbrt():用于计算一个数的立方根(也就是三次方)

注意:会对非数值进行转换,如果非数值且无法转换为数值时(例:“smh”),返回NaN。

image.png

image.png

2.Math.imul(参数1,参数2):两个数以 32 位带符号整数形式相乘的结果,返回的也是一个 32 位的带符号整数。(大多数情况下,结果就相当于参数1*参数2)

image.png

image.png

3.Math.hypot(参数1,参数2):用于计算所有参数的平方和的平方根。也就是勾股定理。

image.png

image.png