16.JavaScript中的Math对象

Math是JavaScript的内置对象,提供了一系列数学常数和数学方法,该对象不是构造函数,不能生成实例,所有的属相和方法都必须在Math下调用。

1.Math的属性

Math对象提供以下一些只读的数学常数。

  • Math.E:常数e。
  • Math.LN2:2的自然对数。
  • Math.LN10:10的自然对数。
  • Math.LOG2E:以2为底的e的对数。
  • Math.LOG10E:以10为底的e的对数。
  • Math.PI:常数Pi。
  • Math.SQRT1_2:0.5的平方根。
  • Math.SQRT2:2的平方根。

2.Math的方法

  • Math.abs():绝对值
  • Math.ceil():向上取整
  • Math.floor():向下取整
  • Math.max():最大值
  • Math.min():最小值
  • Math.pow():指数运算
  • Math.sqrt():平方根
  • Math.log():自然对数
  • Math.exp():e的指数
  • Math.round():四舍五入
  • Math.random():随机数

3 Math.random()

Math.random()返回0到1之间的一个伪随机数,可能等于0,但是一定小于1。

任意范围的随机数生成函数如下。

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}

getRandomArbitrary(1.5, 6.5)
// 2.4942810038223864

任意范围的随机整数生成函数如下。

function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

getRandomInt(1, 6) // 5

返回随机字符的例子如下。

function random_str(length) {
  var ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  ALPHABET += 'abcdefghijklmnopqrstuvwxyz';
  ALPHABET += '0123456789-_';
  var str = '';
  for (var i=0; i < length; ++i) {
    var rand = Math.floor(Math.random() * ALPHABET.length);
    str += ALPHABET.substring(rand, rand + 1);
  }
  return str;
}

random_str(6) // "NdQKOr"

上面代码中,random_str函数接受一个整数作为参数,返回变量ALPHABET内的随机字符所组成的指定长度的字符串。

4.三角函数方法

  • Math.sin():返回参数的正弦
  • Math.cos():返回参数的余弦
  • Math.tan():返回参数的正切
  • Math.asin():返回参数的反正弦(弧度值)
  • Math.acos():返回参数的反余弦(弧度值)
  • Math.atan():返回参数的反正切(弧度值)

我们需要掌握random()的函数的用法,此方法比较常用,需要掌握。