今天我们来聊聊js中的math对象Math 对象常用属性和方法分析Math.PI圆周率常量值为 3.141592653589793。console.log(Math.PI); // 输出 3.141592653589793Math.floor(x)向下取整返回小于或等于 x 的最大整数。console.log(Math.floor(3.7)); // 输出 3 console.log(Math.floor(-2.3)); // 输出 -3Math.ceil(x)向上取整返回大于或等于 x 的最小整数。console.log(Math.ceil(3.2)); // 输出 4 console.log(Math.ceil(-2.7)); // 输出 -2Math.round(x)四舍五入取整对于负数遵循“五舍六入”规则。console.log(Math.round(3.5)); // 输出 4 console.log(Math.round(-2.5)); // 输出 -2Math.abs(x)返回 x 的绝对值。console.log(Math.abs(-5)); // 输出 5 console.log(Math.abs(3.14)); // 输出 3.14Math.max(x1, x2, ..., xn)返回参数中的最大值。console.log(Math.max(1, 3, 2)); // 输出 3 console.log(Math.max(-1, -3, -2)); // 输出 -1Math.min(x1, x2, ..., xn)返回参数中的最小值。console.log(Math.min(1, 3, 2)); // 输出 1 console.log(Math.min(-1, -3, -2)); // 输出 -3Math.random()返回 [0, 1) 之间的伪随机数。console.log(Math.random()); // 输出类似 0.123456789常用代码示例生成指定范围的随机整数生成 [min, max] 之间的随机整数。function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min 1)) min; } console.log(getRandomInt(1, 10)); // 输出 1 到 10 之间的随机整数功能说明该函数用于生成 [min, max] 闭区间范围内的随机整数包含最小值和最大值。这是一个在编程中常见的需求特别是在需要随机选择、随机抽样或创建随机测试数据时非常有用。详细步骤解析Math.random()生成 [0,1) 之间的随机浮点数(max - min 1)计算可能的整数数量将随机数乘以这个数量得到 [0, max-min1) 范围的随机数Math.floor()向下取整得到 [0, max-min] 的整数最后加上 min将范围平移到 [min, max]应用场景游戏开发随机敌人出现位置、随机伤害值抽奖系统随机选择中奖者测试数据生成随机测试用例模拟实验随机采样数据UI设计随机颜色选择或布局变化注意事项确保 min ≤ max否则结果将不符合预期如果需要排除最大值可以去掉1的部分对于加密安全场景应使用crypto.getRandomValues()而非Math.random()计算数组中的最大值和最小值利用扩展运算符和 Math 方法。const numbers [1, 5, 2, 8, 3]; console.log(Math.max(...numbers)); // 输出 8 console.log(Math.min(...numbers)); // 输出 1详细实现步骤定义数组首先需要有一个包含数值的数组使用扩展运算符将数组元素展开为单独的参数调用Math方法Math.max()接收展开的数组参数并返回最大值Math.min()接收展开的数组参数并返回最小值应用场景这种方法适用于多种情况数据分析中快速找出极值游戏开发中计算最高分和最低分电商系统中查找商品价格区间学生成绩管理系统中统计最高分和最低分注意事项数组必须包含可比较的数值类型元素对于空数组Math.max()和Math.min()会返回-Infinity和Infinity如果数组包含非数值元素结果可能是NaN保留小数位数结合 Math.round 实现四舍五入保留指定位数。function roundToDecimal(num, decimalPlaces) { const factor 10 ** decimalPlaces; return Math.round(num * factor) / factor; } console.log(roundToDecimal(3.14159, 2)); // 输出 3.14实现步骤首先将数字乘以10的n次方n为要保留的小数位数然后使用Math.round进行四舍五入最后再除以10的n次方还原数值以下为 Math 对象常用方法的逻辑流程图开始判断需求类型需要常量 → 使用Math.PI需要取整 → 选择Math.floor、Math.ceil或Math.round需要绝对值 → 使用Math.abs需要最值 → 使用Math.max或Math.min需要随机数 → 使用Math.random处理结果结束流程图可通过工具如 Mermaid 绘制graph TD A[开始] -- B{需求类型} B --|常量| C[Math.PI] B --|取整| D[选择 floor/ceil/round] B --|绝对值| E[Math.abs] B --|最值| F[Math.max/min] B --|随机数| G[Math.random] C -- H[处理结果] D -- H E -- H F -- H G -- H H -- I[结束]该流程图补充说明新增数学常量Math.E的使用场景细化取整方法的示例说明增加其他常用数学运算方法分支幂运算/平方根等为每个方法节点添加具体示例保持原有逻辑结构的同时扩展了判断维度使用标准流程图语法确保可读性总结Math 对象核心就是一个常量PI 四类方法取整 / 绝对值 / 极值 / 随机数配合封装好的通用公式能满足绝大多数数值计算、随机处理、极值查找的需求。Math 对象的所有属性和方法都是静态的不需要创建 Math 对象实例直接使用 Math 调用方法即可对于复杂的数学运算可以组合使用多个 Math 方法通过合理运用 Math 对象提供的方法开发者可以高效地完成各种数值计算任务。