记录下与Math有关的常用方法,如:求最大值、最小值等,或者是保留几位数啥的1.数据let floatA = 2.325232;let floatB = 2.3456;let temporaryArray = [1, 2, 5, 6, 3];let minusNum = -12;let minusFloat = -12.321;let intA = 10;let min, max, num;2.求最大值、最小值{ /* 求最小值 / min = Math.min(floatA, floatB); console.log(min); / 使用apply来重新绑定this / min = Math.min.apply(null, temporaryArray); console.log(min); / 使用展开运算符 / min = Math.min(…temporaryArray); console.log(min); / 求最大值 / max = Math.max(floatA, floatB); console.log(max); / 使用apply来重新绑定this / max = Math.max.apply(null, temporaryArray); console.log(max); / 使用展开运算符 / max = Math.max(…temporaryArray); console.log(max);}3.取整{ / 四舍五入取整:取与参数最接近的整数 / num = Math.round(floatA); console.log(num); num = Math.round(minusFloat); console.log(num); / 向上取整:取大于或等于函数参数,并且与之最接近的整数 / num = Math.ceil(floatB); console.log(num); / 向下取整:取小于或等于函数参数,并且与之最接近的整数 / num = Math.floor(floatB); console.log(num); / ceil、floor结合起来,实现一个总是返回数值的整数部分的函数 / function getInteger(value) { value = Number(value); return value < 0 ? Math.ceil(value) : Math.floor(value); } console.log(getInteger(-2.3322));}4.求绝对值{ / 负整数 / num = Math.abs(minusNum); console.log(num); / 负浮点数 / num = Math.abs(minusFloat); console.log(num);}5.次幂{ / 结果是虚数或负数,则该方法将返回 NaN * 如果由于指数过大而引起浮点溢出,则该方法将返回 Infinity / / 2的3次方 / num = Math.pow(2, 3); console.log(num);}6.去平方根{ / 求参数的平方根,如果参数小于 0,则返回 NaN / num = Math.sqrt(9); console.log(num);}7.生成随机数{ / 生成0-1的随机数,大于0小于1 / num = Math.random(); console.log(num); / 生成0-10的随机数 / num = Math.random() * 10; console.log(num); / 生成任意范围随机数 / function getRandom(min, max) { return Math.random() * (max - min) + min; } console.log(getRandom(3.5, 6.5)); / 整数min与整数max生成任意范围整数随机数 / function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } console.log(getRandomInt(5, 15));}8.es6中对Math方法的扩展(部分){ / 取整(非四舍五入) * 对于非数值,内部调用 Number 强转为数值 * 对于空值或其他数据,返回NaN * / num = Math.trunc(floatA); console.log(num); num = Math.trunc(intA); console.log(num); num = Math.trunc(‘aaa’); console.log(num);}{ / 判断一个数是正数、负数或零 * 正数返回+1,负数返回-1,零返回0或-0 * 其他值 NaN * / num = Math.sign(2); console.log(num); num = Math.sign(0); console.log(num); num = Math.sign(-0); console.log(num); num = Math.sign(-14); console.log(num); num = Math.sign(‘ss’); console.log(num);}{ let a = 2; a *= 3; / 相当于 aa*a / console.log(a);}9.保留位数操作{ / 四舍五入保留两位小数 * toFixed(num) 方法可把 Number型 四舍五入为指定小数位数的数字 * num规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20 * 有些实现可以支持更大的数值范围,如果省略了该参数,将用 0 代替 * / num = floatA.toFixed(2); console.log(num); let word = 2.5; num = word.toFixed(); console.log(num); / 不四舍五入 / num = Math.floor(23.365125 * 100) / 100; console.log(num);}10.字符串转数字 { / parseInt(value, radix) * 用于解析字符串,返回一个整数 * radix表示要解析的数字的基数,该值介于 2 ~ 36 之间 * 如果省略该参数或其值为 0,则数字将以 10 为基础来解析 * 如果它以 “0x” 或 “0X” 开头,将以 16 为基数 * 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。 * / let temporaryString = ‘123’; num = parseInt(temporaryString); console.log(num); { console.log(parseInt(“10”)); //返回 10 console.log(parseInt(“19”,10)); //返回 19 : 10 + 9 console.log(parseInt(“11”,2)); //返回 3 : 2 + 1 console.log(parseInt(“17”,8)); //返回 15 : 8 + 7 console.log(parseInt(“1f”,16)); //返回 31 : 16 + 15 console.log(parseInt(“010”)); //未定:返回 10 或 8 } / 常见的parseInt一道题 / { console.log([‘1’, ‘2’, ‘3’].map(parseInt)); / 返回[1, NaN, NaN] * map(function(value, index, array) {}) * map方法中的回调函数中的3个参数值,每个值value,索引值index,数组对象array * 上面的相当于parseInt(‘1’, 0)、parseInt(‘2’, 1)、parseInt(‘3’, 2) * / } / Number强转 */ num = Number(‘12345’); console.log(num);}正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)往期好文推荐:判断iOS和Android及PC端纯css实现瀑布流(multi-column多列及flex布局)微信小程序之购物车和父子组件传值及calc的注意事项css实现波浪线及立方体