我是小又又,住在武汉,做了两年新媒体,准备用 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 排版