作者: 她不美却常驻我心
博客地址: https://blog.csdn.net/qq_39506551
微信公众号:老王的前端分享
每篇文章纯属个人经验观点,如有错误疏漏欢迎指正。转载请附带作者信息及出处。
从零开始学前端 - 15. JS数学Math对象
一般如果不涉及到游戏开发、图表开发等,不会太多的使用 Math 对象。虽然有些特效需要依靠数学来计算一些参数,但大部分都有开源的插件,所以对一般编程来讲,Math 并不是十分重要,所以我们简单了解即可。
一、 常用方法
1. Math.ceil() 向上取整
语法:Math.ceil(x)
作用:将一个小数向上取整。
实例:
Math.ceil(0.1); // 1
2. Math.floor() 向下取整
语法:Math.floor(x)
作用:将一个小数向下取整。
实例:
Math.floor(0.1); // 0
3. Math.random() 取随机数
所有语言生成的随机数都是伪随机数。因为每一门语言都是由人类来通过算法产生的,例如说 Java 的随机数是通过去模运算来生成的,当数字的变化周期足够大时,我们就分辨不出其中的规律来了。伪随机数是看似随机实质固定的周期性序列。
语法:Math.random()
作用:生成一个 0 - 1.0 之间的小数,包含0,不包含 10 。
实例:
Math.random()*10 // 生成一个 0 - 10 之间的小数。
我们可以结合 取整方法,生成一个整数类型的随机数:
Math.floor(Math.random()*10) // 生成 0 - 10 之间的随机数,不包含10
生成一个从 m 到 n 之间的随机数:
Math.floor(Math.random()*(m-n)+n)
生成一个随机颜色:
var rgb = Math.floor(Math.random()*(257)) + "," +
Math.floor(Math.random()*(257)) + "," +
Math.floor(Math.random()*(257));
alert(rgb);
4. Math.round() 四舍五入
语法:Math.round(x)
作用:将小数四舍五入。
实例:
Math.round(0.1); // 0
Math.round(0.5); // 1
5. Math.abs() 取绝对值
语法:Math.abs(x)
作用:取绝对值。
实例:
Math.abs(-0.1); // 0.1
Math.abs(-1); // 1
二、其他方法
方法 | 作用 |
---|---|
max(x,y,z,…,n) | 返回 x,y,z,…,n 中的最大值 |
min(x,y,z,…,n) | 返回 x,y,z,…,n中的最小值 |
sin(x) | 返回 x 的正弦 |
cos(x) | 返回 x 的余弦 |
tan(x) | 返回 x 的正切 |
asin(x) | 返回 x 的反正弦值 |
acos(x) | 返回 x 的反余弦值 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 |
atan2(y,x) | 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) |
exp(x) | 返回 Ex 的指数 |
log(x) | 返回数的自然对数(底为e) |
pow(x,y) | 返回 x 的 y 次幂 |
sqrt(x) | 返回 x 的平方根 |
三、相关属性
方法 | 作用 |
---|---|
E | 返回算术常量 e,即自然对数的底数(约等于2.718) |
LN2 | 返回 2 的自然对数(约等于0.693) |
LN10 | 返回 10 的自然对数(约等于2.302) |
LOG2E | 返回以 2 为底的 e 的对数(约等于 1.4426950408889634) |
LOG10E | 返回以 10 为底的 e 的对数(约等于0.434) |
PI | 返回圆周率(约等于3.14159) |
SQRT1_2 | 返回 2 的平方根的倒数(约等于 0.707) |
SQRT2 | 返回 2 的平方根(约等于 1.414) |
还是那句话,Math 对象只需要记住几个常用的方法,其他的有个印象即可,用到的时候在回来翻阅。
种一棵树,最好的时间是十年前,其次是现在。人的一生,总的来时就是不断学习的一生。
蚕吐丝,蜂酿蜜。人不学,不如物。与其纠结学不学,学了有没有用,不如学了再说。
等你学会了之后,你才拥有资格说“啊,这个东西学了没用。”
每篇文章纯属个人经验观点,如有错误疏漏欢迎指正。转载请附带作者信息及出处。您的评论和关注是我更新的动力!
请大家关注我的微信公众号,我会定期更新前端的相关技术文章,欢迎大家前来讨论学习。
都看到这里了,三连一下呗~~~。点个收藏,少个 Bug 。