JavaScript 数学对象

常用数学对象及实例

1.圆周率:Math.PI

  • document.write(Math.PI);

3.141592653589793

2.四舍五入:Math.round(x)

  • document.write(Math.round(2.1));

2

  • document.write(Math.round(2.5));

3

3.向下取整:Math.floor(x)

  • document.write(Math.floor(2.1));

2

  • document.write(Math.floor(2.6));

2

4.向上取整:Math.ceil(x)

  • document.write(Math.ceil(2.1));

3

  • document.write(Math.ceil(2.6));

3

  • document.write(Math.ceil(Math.random()*10));

8
// Math.random:随机数
随机数

5.查找参数列表中的最大数:Math.max(x,y,z,…,n)

  • document.write(Math.max(1,2,7,3,5));

7

6.查找参数列表中的最小数:Math.min(x,y,z,…,n)

  • document.write(Math.min(7,2,1,3,5));

1

7.求幂:Math.pow(x,y)

  • document.write(Math.pow(8, 2));

64 // 8的2次方

ES6求幂方法:x**y
  • document.write('ES6求幂 : '+5**3);

ES6求幂 : 125 // 5的3次方

8.平方根:Math.sqrt(x)

  • document.write(Math.sqrt(64));

8

  • document.write(Math.sqrt(65));

8.06225774829855

  • document.write(Math.sqrt(-9));

NaN // x必须是大于0的数

9.绝对值:Math.abs(x)

  • document.write(Math.abs(-4.7));

4.7

  • document.write(Math.abs(64-90));

26

10.判断数的符号:Math.sign(x)

  • 如果x是 正数(不包括+0),那么结果就是+1;
  • 如果x是 负数(不包括-0),那么结果就是-1;
  • 如果参数x不是数字(即它的类型不是Number),那么它会先被转换Number类型;
  Math.sign(3);     //  1  正数返回1
  Math.sign(-3);    // -1  负数返回-1
  Math.sign("-3");  // -1  
  • 如果x+0,那么结果是+0
  • 如果x-0,那么结果是-0
  Math.sign(0);     //  0
  Math.sign(-0);    // -0
  • 如果x是NaN,那么结果也是NaN
  Math.sign(NaN);   // NaN
  Math.sign("foo"); // NaN  无法转换为Number类型
  Math.sign();      // NaN
模拟实现sign函数
function sign(x) {
    x = +x ;  // 转换成一个数字
    if (x === 0 || isNaN(x)){
        return x;
    }
    return x > 0 ? 1 : -1;
}

11.随机数:Math.random()

①默认是0—1之间的随机数
   var num=Math.random()
   console.log(num);

0-1随机小数

②实现0—10之间的随机小数
  var num=Math.random()*10
  console.log(num);

0-10随机小数

③用parseInt实现 0—9 之间的随机整数
  var num=parseInt(Math.random()*10)
  console.log(num);

parseInt实现0-9随机数

④用parseInt实现 1—10 之间的随机整数
  var num=parseInt(Math.random()*10+1)
  console.log(num);

parseInt实现1-10随机数

⑤用floor实现 0—9 之间的随机整数
  var num=Math.floor(Math.random()*10)
  console.log(num);

floor实现0-9随机数

⑥用ceil实现 1—10 之间的随机整数
  var num=Math.ceil(Math.random()*10)
  console.log(num);

ceil实现0-9随机数

  • 某一区间随机数公式:Math.random()*(大-小)+小// 不包含最大
   // Math.random()*(大-小+1)+小 默认不包含大  45-60之间的随机数 不包含60 +1就可以包含了
   var num=parseInt(Math.random()*(60-45)+45)
   console.log(num);

区间随机数

模拟实现random函数
  function getRandom(n, m) {
      return Math.floor(Math.random() * (m - n + 1) + n);
  }
  var rand = getRandom(1, 20);
  console.log(rand); //输出1——20的随机整数
  • 应用:验证码、随机推荐、弹幕中的随机颜色、游戏的概率……
实现一个4位数的验证码
  let arr = [];
  let result = [];  //存放最终结果
  // arr中存放 0-9、A-Z、a-z、'['、']'、'\'、'^'、'_'、'`'符号
  for (let i = 48; i <= 57; i++) {
      arr[i - 48] = String.fromCharCode(i);  // 编码转字符
  }
  for (let i = 65; i <= 122; i++) {
      arr[i - 65 + 10] = String.fromCharCode(i);
  }
  // 打印十个4位数验证码(看效果)
  for (let k = 0; k < 10; k++) {
      for (let i = 0; i < 4; i++) {
          // 在原数组中随机取一个值 放入结果数组中 生成一个随机数
          let num = parseInt(Math.random() * arr.length)
          result[i] = arr[num]
      }
      // 将结果转化成字符串 再删去逗号输出
      document.write(k+':'+result.toString().replace(/,/g,'')+'<br>');
  }

四位数验证码

总结

  事实上,JavaScript中的数学对象还有很多,本文只是整理了一些比较常用的函数,欢迎补充~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m_sy530

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值