- ES6把之前的number全局方法上都加上了Number对象,这样做的目的,是逐步减少全局性方法,使得语言逐步模块化。
-
Number扩展
- Number():1、将非数值的类型转化成数值类型,2、可以把八进制和二进制转化为10进制,ES6中,0b标识二进制0o表示是八进制,
Number.isFinite():
用来检查一个数值是否为有限的(finite),返回值为布尔类型(只能用在数值类型,否则返回false)Number.isNaN():
用来检查一个值是否为NaN,返回值为布尔类型
(只能用在数值类型,否则返回false)- Number.parseInt():把字符串参数解析成整数数(只能用在数值类型,否则返回false)
- Number.parseFloat():把字符串参数解析成浮点数(只能用在数值类型,否则返回false)
Number.isInteger()
用来判断一个数值是否为整数。由于JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 25 和 25.0 被视为同一个值- Number.EPSILON 比1大的最小浮点数,
Number.EPSILON * Math.pow(2, 2)用这个表达式改变其精度Number.EPSILON === Math.pow(2, -52)
- JavaScript 能够准确表示的整数范围在
-2^53
到2^53
之间(不含两个端点),超过这个范围,无法精确表示这个值。ES6 引入了Number.MAX_SAFE_INTEGER
和Number.MIN_SAFE_INTEGER
这两个常量,用来表示这个范围的上下限。Number.isSafeInteger()用于判断一个数是不是在【Number.MAX_SAFE_INTEGER,
Number.MIN_SAFE_INTEGER】这个范围内,返回值类型为布尔
-
补一下js基本的number用法
- typeof :检测当前的数据类型的。
- isNaN(): 判断一个一个值是否是非数字类型,需要先把守护之强制转换成number,在判断
- Number() :将其他数据类型的值强制转换成number类型
- parseInt():经常用于字符串转换成数字
- parseFloat:和parseInt 用法一样,将字符串转换成浮点数
- toFixed() : 保留小数点位数的方法,返回值是一个字符串
- toString():返回指定格式后的字符串,比如转化成2进制toString(2)
- toExponential():把数字以科学计数法的形式返回,且是字符串
- toPrecision():返回指定精度的的科学计数法,(值得小数部分的精度)
-
Math的扩展
-
Math.trunc()
方法用于去除一个数的小数部分,返回整数部分。对于非数值,Math.trunc
内部使用Number
方法将其先转为数值。 Math.sign()
方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。它会返回五种值。参数为正数,返回+1
;参数为负数,返回-1
;参数为 0,返回0
;参数为-0,返回-0
;其他值,返回NaN
。Math.cbrt()
方法用于计算一个数的立方根。Math.clz32()
方法将参数转为 32 位无符号整数的形式,然后返回这个 32 位值里面有多少个前导 0。转化成32位之后前面0的个数Math.hypot()
方法返回所有参数的平方和的平方根。- 新增符号**表示立方积a**3=a*a*a
-
js math的基本方法
-
Math.abs(x)
返回x的绝对值 Math.sign(x)
返回x的符号函数, 判定x是正数,负数还是0 Math.random()
返回0到1之间的伪随机数 Math.floor(x)
返回x向上取整后的值 Math.ceil(x)
返回x向上取整后的值 Math.round(x)
返回四舍五入后的整数. Math.fround(x)
返回数字的最接近的单精度浮点型表示 Math.trunc(x)
返回x的整数部分,去除小数 Math.sqrt(x)
返回x的平方根 Math.cbrt(x)
返回x的立方根 Math.hypot([x[,y[,…]]])
返回其参数平方和的平方根 Math.pow(x,y)
返回x的y次幂