概念Math是JavaScript的一个内置对象,包括一些数学常量属性和数学函数方法。Math不是函数对象,它被Number类型使用,不支持BigInt。Math的所有属性和方法都是静态的。比如我们用pi的时候,写法就是Math.PI;使用正余弦函数时,写法为Math.sin(x),x为传入的参数。数学常量在JavaScript中使用全精度浮点数定义。MathNativeProperties//欧拉常数,也是自然对数的底,大约等于2.718。console.log("数学.E",数学.E);//Math.E2.718281828459045//2的自然对数,约等于0.693。console.log("Math.LN2",Math.LN2);//Math.LN20.6931471805599453//10的自然对数,约等于2.303。console.log("Math.LN10",Math.LN10);//Math.LN102.302585092994046//E的以2为底的对数,约等于1.443。console.log("Math.LOG2E",Math.LOG2E);//Math.LOG2E1.4426950408889634//E的以10为底的对数,约等于0.434。console.log("Math.LOG10E",Math.LOG10E);//Math.LOG10E0.4342944819032518//圆周长与直径之比Pi约等于3.14159。console.log("数学.PI",数学.PI);//Math.PI3.141592653589793//计算周长functioncalculateCircumference(radius){return2*Math.PI*radius;}console.log("calculateCircumference(1)",calculateCircumference(1));//calculateCircumference(1)6.283185307179586//?的平方根,也是212的平方根的倒数,大约等于0.707。console.log("Math.SQRT1_2",Math.SQRT1_2);//Math.SQRT1_20.7071067811865476//2的平方根,约等于1.414。console.log("Math.SQRT2",Math.SQRT2);//Math.SQRT21.4142135623730951math常用方法Math.abs()//指定数“x”的绝对值Math.abs("-1");//1Math.abs(-2);//2Math.abs(null);//0Math.abs("字符串");//NaNMath.abs();//日常开发中NaNmath的数字处理方法//Math.round()函数返回一个四舍五入到最接近整数的数字。console.log(Math.round(20.49));//20console.log(Math.round(20.5));//21console.log(Math.round(-20.5));//-20console.log(Math.round(-20.51));//-21//Math.ceil()返回大于或等于给定数字的最小整数,向上舍入。console.log(Math.ceil(0.95));//1console.log(Math.ceil(4));//4console.log(Math.ceil(7.004));//8console.log(Math.ceil(-7.004));//-7//Math.floor()返回小于或等于给定数的最大整数,Math.floor()向下舍入。Math.floor(45.95);//45Math.floor(45.05);//45Math.floor(4);//4Math.floor(-45.05);//-46Math.floor(-45.95);//-46//Math.max()返回一组数字中的最大值console.log(Math.max(1,3,2));//3console.log(Math.max(-1,-3,-2));//-1constarray1=[1,-3,2];console.log(Math.max(...array1));//3//Math.min()返回零个或多个值的最小值。console.log(Math.min());//Infinityconsole.log(Math.min(1,2,3,-4));//-4//使用Math.min()裁剪一个值)functionf(x){if(x>5){return(x=5);}返回(x=6);}varfinalMin=Math.min(f(2),2,3,4,5,30);console.log("finalMin",finalMin);//2//Math.sqrt()返回数字的平方根functioncalcHypotenuse(a,b){returnMath.sqrt(a*a+b*b);}console.log(calcHypotenuse(3,4));//5console.log(calcHypotenuse(5,12));//13console.log(calcHypotenuse(0,0));//0使用Math.random()生成随机数/****Math.random()函数返回一个浮点数*伪随机数范围从0到小于1,即从0(包括0)向上,但不包括1(不包括1),*然后就可以缩放到想要的范围了。实现随机数生成算法初始种子的选择;用户无法选择或重置它。***/console.log(Math.random());functiongetRandomNumber(min,max){min=Math.ceil(min);max=Math.floor(max);返回Math.floor(Math.random()*(max-min+1))+min;//包含最大值,包含最小值}console.log(getRandomNumber(2,100));总结上面的例子包含了在使用apimath过程中常用的数学方法和属性,在使用过程中可以结合random和max、min方法生成需要的随机数。通过round、floor、ceil,我们可以进一步对数字进行求值,得到需要的数字格式Math。更多方法请参考Math文档Mathjs插件[文档地址https://mathjs.org/examples/i...](https://note.youdao.com/)mathjs插件提供了比较全面的方法,涵盖了从代数计算到泛函计算、货币运算等方法、矩阵序列化等,更多方法请参考官方文档。基本用法:npminstallmathjsimport{sqrt}from'mathjs'console.log(sqrt(-4).toString())//2i源码地址码云https://gitee.com/lewyon/vue-notegithubhttps://github.com/akari16/vue-note文章个人博客地址:javaScript中Math内置对象的基本方法入门欢迎关注公众号:程序员布欧,我不定时更新一些前端入门文章时间和作者。
