JavaScript--Math

作者: 蒜泥捣莓 | 来源:发表于2022-08-01 20:05 被阅读0次

    一、概述

    ECMAScript 提供了 Math 对象作为保存数学公式、信息和计算的地方。Math 对象提供了一些辅助计算的属性和方法。

    注意:Math 对象上提供的计算要比直接在 JavaScript 实现的快得多,因为 Math 对象上的计算使用了 JavaScript 引擎中更高效的实现和处理器指令。但使用 Math 计算的问题是精度会因浏览器、操作系统、指令集和硬件而异。

    二、属性

    Math 对象有一些属性,主要用于保存数学中的一些特殊值。


    image.png

    三、方法

    1、min()和 max()方法

    min()和 max()方法用于确定一组数值中的最小值和最大值。这两个方法都接收任意多个参数。

    let max = Math.max(3, 54, 32, 16); 
    console.log(max); // 54 
    
    let min = Math.min(3, 54, 32, 16); 
    console.log(min); // 3
    

    如果要找到数组中的最大或最小值,可以这样:

    var arr = [3, 10, 2, 100]; 
    var max = Math.max.apply(Math, arr); 
    console.log(max); // 100
    

    apply()方法是用来改变一个函数内的this指向,第一个参数就是要this指向的对象,第二个参数是一个数组。

    2、舍入方法

    接下来是用于把小数值舍入为整数的 4 个方法:Math.ceil()、Math.floor()、Math.round()和 Math.fround()。

    Math.ceil()方法

    Math.ceil()始终向上舍入为最接近的整数。

    console.log(Math.ceil(25.9)); // 26 
    console.log(Math.ceil(25.5)); // 26 
    console.log(Math.ceil(25.1)); // 26
    
    Math.floor()方法

    Math.floor()始终向下舍入为最接近的整数。

    console.log(Math.floor(25.9)); // 25 
    console.log(Math.floor(25.5)); // 25 
    console.log(Math.floor(25.1)); // 25
    
    Math.round()方法

    Math.round()执行四舍五入。

    console.log(Math.round(25.9)); // 26 
    console.log(Math.round(25.5)); // 26 
    console.log(Math.round(25.1)); // 25
    
    Math.fround()方法

    Math.fround()返回数值最接近的单精度(32 位)浮点值表示。

    console.log(Math.fround(0.4)); // 0.4000000059604645 
    console.log(Math.fround(0.5)); // 0.5 
    console.log(Math.fround(25.9)); // 25.899999618530273
    

    3、random()方法

    Math.random()方法返回一个 0~1 范围内的随机数,其中包含 0 但不包含 1。

    很多时候,通过函数来算出可选总数和最小可能的值可能更方便,比如:

    function selectFrom(lowerValue, upperValue) { 
     let choices = upperValue - lowerValue + 1; 
     return Math.floor(Math.random() * choices + lowerValue); 
    } 
    let num = selectFrom(2,10); 
    console.log(num); // 2~10 范围内的值,其中包含 2 和 10 
    

    这里的函数 selectFrom()接收两个参数:应该返回的最小值和最大值。通过将这两个值相减再加 1 得到可选总数,然后再套用上面的公式。于是,调用 selectFrom(2,10)就可以从 2~10(包含)范围内选择一个值了。使用这个函数,从一个数组中随机选择一个元素就很容易,比如:

    let colors = ["red", "green", "blue", "yellow", "black", "purple", "brown"]; 
    let color = colors[selectFrom(0, colors.length-1)];
    

    4、其它方法

    Math.abs(num) 返回num的绝对值 
    Math.exp(num) 返回Math.E的num次幂 
    Math.log(num) 返回num的自然对数 
    Math.pow(num, power) 返回num的power次幂 
    Math.sqrt(num) 返回num的平方根 
    Math.acos(x) 返回x的反余弦值 
    Math.asin(x) 返回x的反正弦值 
    Matn.atan(x) 返回x的反正切值 
    Math.atan2(y, x) 返回y/x的反正切值 
    Math.cos(x) 返回x的余弦值 
    Math.sin(x) 返回x的正弦值 
    Math.tan(x) 返回x的正切值
    

    相关文章

      网友评论

        本文标题:JavaScript--Math

        本文链接:https://www.haomeiwen.com/subject/avgrwrtx.html