转行学前端的第 52 天 : 了解 ECMAScript Math对象(二)

547 阅读4分钟

我是小又又,住在武汉,做了两年新媒体,准备用 6 个月时间转行前端。

今日学习目标

昨天基于搜索来基础学习 Math 对象属性和基础方法。今天主要是基于搜索来基础了解 Math 对象剩下的方法,然后对感兴趣的方法进行详细了解.

今天就是 ECMAScript 基础学习最后一天了,之后就要开始准备学习BOM了~~~ ,又是适合学习的一天,加油,小又又!!!!


今日学习概要

  • Math 对象方法概要
  • random()方法

Math 对象概要方法

弦切相关

方法名 方法说明
Math.acos(x) 返回一个数的反余弦值。
Math.acosh(x) 返回一个数的反双曲余弦值。
Math.asin(x) 返回一个数的反正弦值。
Math.asinh(x) 返回一个数的反双曲正弦值。
Math.atan(x) 返回一个数的反正切值。
Math.atanh(x) 返回一个数的反双曲正切值。
Math.atan2(y, x) 返回 y/x 的反正切值。
Math.cos(x) 返回一个数的余弦值。
Math.cosh(x) 返回一个数的双曲余弦值。
Math.sin(x) 返回一个数的正弦值。
Math.sinh(x) 返回一个数的双曲正弦值。
Math.tan(x) 返回一个数的正切值。
Math.tanh(x) 返回一个数的双曲正切值。

舍入相关

方法名 方法说明
Math.ceil(x) 返回大于一个数的最小整数,即一个数向上取整后的值。
Math.floor(x) 返回小于一个数的最大整数,即一个数向下取整后的值。
Math.round(x) 返回四舍五入后的整数。

单值基础处理相关

方法名 方法说明
Math.abs(x) 返回一个数的绝对值。
Math.sign(x) 返回一个数的符号,得知一个数是正数、负数还是 0。
Math.fround(x) 返回最接近一个数的单精度浮点型表示。
Math.trunc(x) 返回一个数的整数部分,直接去除其小数点及之后的部分。

单值分解处理相关

方法名 方法说明
Math.cbrt(x) 返回一个数的立方根。
Math.log(x) 返回一个数的自然对数(㏒e,即 ㏑)。
Math.log1p(x) 返回一个数加 1 的和的自然对数(㏒e,即 ㏑)。
Math.log10(x) 返回一个数以 10 为底数的对数。
Math.log2(x) 返回一个数以 2 为底数的对数。
Math.sqrt(x) 返回一个数的平方根。
Math.pow(x, y) 返回一个数的 y 次幂。

多值处理相关

方法名 方法说明
Math.hypot([x[, y[, …]]]) 返回其所有参数平方和的平方根。
Math.max([x[, y[, …]]]) 返回零到多个数值中最大值。
Math.min([x[, y[, …]]]) 返回零到多个数值中最小值。

随机数

方法名 方法说明
Math.random() 返回一个 0 到 1 之间的伪随机数。

其他

方法名 方法说明
Math.clz32(x) 返回一个 32 位整数的前导零的数量。
Math.exp(x) 返回欧拉常数的参数次方,Ex,其中 x 为参数,E 是欧拉常数(2.718...,自然对数的底数)。
Math.expm1(x) 返回 exp(x) - 1 的值。
Math.imul(x, y) 返回 32 位整数乘法的结果。
Math.toSource() 返回字符串 "Math"。

random()

基础语法

Math.random()

返回值说明

一个浮点型伪随机数字,在0(包括0)和1(不包括)之间。


详细说明

Math.random() 函数返回一个浮点, 伪随机数在范围从0到小于1,也就是说,从0(包括0)往上,但是不包括1(排除1),然后,可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。


注意事项

安全性

Math.random() 不能提供像密码一样安全的随机数字

不能使用它们来处理有关安全的事情。使用Web Crypto API 来代替, 和更精确的window.crypto.getRandomValues() 方法.


精度准确性

请注意, 由于 JavaScript 中的数字是 IEEE 754 浮点数字,具有最近舍入( round-to-nearest-even)的行为, 因此以下函数的范围 (不包括Math.random()本身) 并不准确。

如果选择了非常大的边界 (253 或更高), 在极罕见的情况下会计算通常-排除(usually-excluded)的上界。

IEEE 754标准的默认模式是最近舍入(舍入为最接近的偶数),它与四舍五入不同的是,对.5的舍入上采用取偶数的方式,即round-to-nearest-even,如:

Round to nearest even:Round(0.5) = 0; Round(1.5) = 2; Round(2.5) = 2;Round(3.5) = 4;

即:"四舍六入五取偶" “五取偶”的规则:当小数部分恰为0.5时,若个位是奇数则入,若个位是偶数则舍,总之让个位变成偶数。


案例

得到一个大于等于0,小于1之间的随机数

function getRandom() {
  return Math.random();
}


得到一个两数之间的随机数

这个例子返回了一个在指定值之间的随机数。这个值不小于 min(有可能等于),并且小于(不等于)max

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min; 
}

今日学习总结


今日心情

今天主要是基于搜索来学习 Math 对象剩下的方法,然后对感兴趣的方法进行详细了解,其实主要就是了解了random 方法,其他方法虽然有尝试,但是没有写总结,比较偷懒~~~~

然后这个 ECMAScript 基础学习系列就告一段落了,明天给这段时间的学习总结一下,然后就开始BOM啦啦啦啦啦 ~~~~

本文使用 mdnice 排版