math对象是静态工具,不可实例化,提供取整(floor/ceil/round/trunc)、极值(max/min)、随机数(random)、幂开方(pow/sqrt)、常量(pi/e)及三角函数等方法,所有调用均通过math.前缀。

JavaScript 中的 Math 对象不是构造函数,不能用 new Math() 创建实例,所有方法和属性都直接通过 Math.方法名() 或 Math.属性名 调用。它提供的是静态、开箱即用的数学工具,适用于计算、取整、极值判断、随机数生成等常见场景。
取整类方法:按不同规则处理小数
处理浮点数时,选择合适的取整方式很关键,尤其在分页、计数、UI 显示等环节:
-
Math.floor(x):向下取整,返回 ≤ x 的最大整数。例如
Math.floor(4.9)→ 4,Math.floor(-3.2)→ -4(注意负数行为) -
Math.ceil(x):向上取整,返回 ≥ x 的最小整数。例如
Math.ceil(4.1)→ 5,Math.ceil(-3.8)→ -3 -
Math.round(x):四舍五入到最近整数;.5 向上舍入(如
Math.round(2.5)→ 3,Math.round(-2.5)→ -2) -
Math.trunc(x):直接截断小数部分,只留整数位。例如
Math.trunc(4.9)→ 4,Math.trunc(-4.9)→ -4 -
Math.abs(x):返回绝对值,常用于距离、差值、容错计算,比如
Math.abs(a - b)得到两数之差的非负量
极值与范围控制:找最大/最小值或限制数值边界
当需要从多个数中比大小,或确保一个值不超出合理区间时,这些方法非常高效:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
Math.max(...numbers) 和 Math.min(...numbers):接受任意个数字参数,返回最大或最小值。例如
Math.max(10, 5, 8)→ 10 - 配合展开运算符可处理数组:
Math.max(...[3, 7, 2])→ 7;若用旧写法,可用Math.max.apply(null, arr) - 常用组合实现“钳制”(clamp):确保值落在 [min, max] 区间内
function clamp(value, min, max) { return Math.max(min, Math.min(value, max)); }
如clamp(120, 0, 100)→ 100
随机数与基础运算:生成可控随机值和常用数学计算
Math.random() 是唯一能产生随机性的核心方法,其余运算都依赖它做扩展:
- Math.random():返回 [0, 1) 区间的浮点数(含 0,不含 1)
- 生成指定范围整数(含 min 和 max):
Math.floor(Math.random() * (max - min + 1)) + min -
Math.pow(base, exp):幂运算,如
Math.pow(2, 10)→ 1024(也可用2 ** 10) -
Math.sqrt(x):求平方根,如
Math.sqrt(64)→ 8;对负数返回NaN -
Math.hypot(a, b):直接算直角三角形斜边长,等价于
Math.sqrt(a*a + b*b),且更安全(避免大数溢出)
数学常量与角度转换:提升精度与可读性
直接使用内置常量比手写近似值更准确、更易维护:
- Math.PI(π ≈ 3.14159)、Math.E(e ≈ 2.71828)是高频常量,用于圆面积、指数增长等计算
- 三角函数(
Math.sin、Math.cos、Math.tan)参数单位是**弧度**,不是角度
角度转弧度公式:radians = degrees * Math.PI / 180
例如:Math.sin(90 * Math.PI / 180)→ 1 -
Math.atan2(y, x) 比
Math.atan(y/x)更可靠,能自动判断象限,适合计算方向角
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










