前端系统化学习【JS篇】:(六-3)引用数据类型之Math篇

259 阅读2分钟

前言

  • 细阅此文章大概需要 6分钟\color{red}{6分钟}左右
  • 本篇中讲述了:
      1. Math数学函数的简述
      1. Math.abs
      1. Math.ceil/floor
      1. Math.round
      1. Math.max/min
      1. Math.sqrt
      1. Math.random
  • 如果有任何问题都可以留言给我,我看到了就会回复,如果我解决不了也可以一起探讨、学习。如果认为有任何错误都还请您不吝赐教,帮我指正,在下万分感谢。希望今后能和大家共同学习、进步。
  • 下一篇会尽快更新,已经写好的文章也会在今后随着理解加深或者加入一些图解而断断续续的进行修改。
  • 如果觉得这篇文章对您有帮助,还请点个赞支持一下,谢谢大家!

Math数学函数

  • 数学函数:但它不是一个函数, 【它是一个对象,对象中存储了许多操作数字的【属性方法】】 ,因此被称为数学函数
  • Math中常用的属性和方法

    1. Math.abs([number val])【绝对值】

      • 获取绝对值(绝对值永远是正数或零)
      • 传递的不是数字类型的值:先基于Number()转换为数字
          console.log(Math.abs(-12.5));//=>12.5
          console.log(Math.abs(0));//=>0
          //传递的不是数字类型的值:先基于Number()转换为数字
          console.log(Math.abs('-1'));//=>1
          console.log(Math.abs('-1px'));//=>NaN
          console.log(Math.abs(true));//=>1
      
    2. Math.ceil/floor([number val]) 【天花板/地板】

      • 将一个数向上取整或向下取整
        //向上取整Math.ceil([number val])
            console.log(Math.ceil(12));//=>12
            console.log(Math.ceil(12.1));//=>13
            console.log(Math.ceil(12.9));//=>13
            console.log(Math.ceil(-12.1));//=>-12
            console.log(Math.ceil(-12.9));//=>-12
        //向下取整Math.floor([number val])
            console.log(Math.floor(12));//=>12
            console.log(Math.floor(12.1));//=>12
            console.log(Math.floor(12.9));//=>12
            console.log(Math.floor(-12.1));//=>-13
            console.log(Math.floor(-12.9));//=>-13
      
    3. Math.round([number val])【四舍五入】

      • 正数当中.5是进位,负数当中.5是舍
              //Math.round([number val])【四舍五入】
              console.log(Math.ceil(12));//=>12
              console.log(Math.ceil(12.1));//=>12
              console.log(Math.ceil(12.5));//=>12//正数当中.5是进位
              console.log(Math.ceil(12.9));//=>13
              console.log(Math.ceil(-12.1));//=>-12
              console.log(Math.ceil(-12.5));//=>-12//负数当中.5是舍
              console.log(Math.ceil(-12.9));//=>-13
      
    4. Math.max/min([number val1],[number val2],....)【最大值/最小值】

      • 获取一堆数当中的最大值和最小值
      • 传递的不能是数组,必须是数字,数组返回NaN
              console.log(Math.max(12,43,2,543,23,54,23));//543
              console.log(Math.min(12,43,2,543,23,54,23));//2
              console.log(Math.max([12,43,2,543,23,54,23]));//NaN 此处是只传递了一个值,是个数组,和内置的语法不符合
      
    5. Math.sqrt([number val])【开平方】/Math.pow([number val]底数,[number val]指数)【计算多次幂】

      • sqrt:给一个数开平方
        • 只有n*n=m这样的m才能整开平方
        • 负数开不了平方
      • pow:计算一个数的多少次幂
        • 2的十次方是1024
              console.log(Math.sqrt(18));//4.242......
              console.log(Math.sqrt(9));//3
              console.log(Math.sqrt(-9));//NaN
          	//Math.pow([number val]底数,[number val]指数)
              console.log(Math.pow(2,10));//1024
              
      
    6. Math.random([number val])【获取随机数】

      • 不加参数就是获取0-1之间的随机小数
      • 获取[n~m]之间的随机整数 Math.round(Math.random()*(m-n)+n)
      		//获取0~10之间的随机整数
              console.log(Math.round(Math.random()*9+1));
      		//获取n~m之间的随机整数
              console.log(Math.round(Math.random()*(m-n)+n));