JavaScript Math 常用方法有哪些
在前端开发的日常工作里,我们经常要做一些和数字相关的处理——比如算商品的折扣价、统计页面元素的尺寸,或者生成随机的抽奖号码。这些场景里,JavaScript 内置的 Math 对象就是帮我们处理数字的“工具箱”,不用自己从零写计算逻辑,直接调用就能搞定。
取整数的3种实用方法,别再傻傻分不清
处理数字时,最常用的就是把小数变成整数,但很多人搞不清 Math 里几个取整方法的区别。举个例子:你买奶茶时,本来算下来是21.6元,但商家凑单减0.1元变成21.5999元,不同取整方法结果完全不一样。

- 向下取整
Math.floor():不管小数部分是多少,直接把小数砍掉取整数。比如21.99元,用Math.floor()算出来就是21,适合需要“只舍不入”的场景,比如计算商品的最低单价。 - 向上取整
Math.ceil():和向下取整相反,只要有小数部分,就进一位取整数。比如你打车显示10.1公里,计费会按11公里算,就是用Math.ceil()处理的。 - 四舍五入
Math.round():按我们平时的习惯,小数部分≥0.5就进1,否则舍去。比如统计投票时,得票率34.6%就取35%,用这个方法就对。
算绝对值和最大值,日常开发超常用
除了取整,还有两个方法能帮我们快速处理数字的正负和大小比较。
- 绝对值
Math.abs():就是把负数变成正数,正数不变。比如你做温度差计算,今天气温-3℃,昨天2℃,温差不是5℃吗?用Math.abs(2 - (-3))就能直接得到5,不用再考虑正负号的问题。 - 批量找最大值/最小值
Math.max()和Math.min():这两个方法可以一次性比较多个数字的大小。比如你做班级成绩统计,要找全班10个同学的最高分,直接写Math.max(92, 85, 98, 76, 90, ...)就行,不用一个个比。注意如果是存在数组里的成绩,要加扩展运算符...,比如Math.max(...scoresArray),不然会出错。
随机数生成,做小游戏的核心逻辑
做抽奖、随机选座位这类功能时,Math.random() 就是核心。这个方法会生成一个0到1之间的随机小数,不包含1。比如要生成1到100的随机整数,就可以用公式:Math.floor(Math.random() * 100) + 1——先把随机数乘100得到0到99.999...的数,向下取整后变成0到99,再加1就得到1到100的数了。
举个实际的例子,公司年会抽三等奖,有50个员工,要随机选3个,就可以用这个方法生成3个不重复的1到50的数,就能对应到员工的工号。
其他实用小方法,偶尔也能用到
还有几个不常用但关键时刻能省时间的方法:比如 Math.sqrt() 是开平方,算正方形的边长时,知道面积就能用这个方法;Math.pow() 是算次方,比如计算复利时,本金1000元,年利率3%,存5年的总金额就是 1000 * Math.pow(1.03, 5),不用自己循环计算。
这些方法都是前端开发里的“基础工具”,不用死记硬背,平时遇到数字相关的处理,先想想有没有对应的 Math 方法,能少写很多重复代码,也能让逻辑更清晰。