Date对象:表示一个时间

创建实时时间

var d = new Date();

创建指定时间

var d = new Date("10/21/2021 20:14:30");

创建时间戳

time = Date.now();//返回当时时间戳

时间戳:从格林威治标准时间的“1970.1.1 00:00:00”到当前日期所花费的毫秒数

Math对象:表示数学运算

math对象封装了数学运算相关的属性和方法
与其他对象相同,它不是构造函数,属于工具类,无需创建对象

  • Math.PI;
    • 返回π的值
  • Math.abs(x);
    • 返回x的绝对值
  • Math.sqrt(x);
    • 返回x的平方根
  • Math.E;
    • 返回e的值
  • Math.round(x);
    • 返回四舍五入后的x
  • Math.ceil(x);
    • 返回向上取整后的x
  • Math.floor(x);
    • 返回向下舍去的x
  • Math.random();
    • 返回0~1之间的随机数
  • Math.max();
    • 返回()里多个值中最大的值
  • Math.min();
    • 返回()里多个值中最小的值
  • Math.pow(a,b);
    • 返回a的b次幂

Math.random()的用法

得到一个两数之间的随机整数:

这个例子返回了一个在指定值之间的随机整数。这个值大于等于min (如果 min 不是整数,则大于等于 min 的向上取整数),且小于(不等于)max。

  1. function getRandomInt(min, max) {
  2. min = Math.ceil(min);
  3. max = Math.floor(max);
  4. return Math.floor(Math.random() * (max - min)) + min; //不含最大值,含最小值
  5. }

得到一个两数之间的随机整数,包括两个数在内:

上一个例子提到的函数 getRandomInt() 结果范围包含了最小值,但不含最大值。如果你的随机结果需要同时包含最小值和最大值,怎么办呢? getRandomIntInclusive() 函数可以实现。

  1. function getRandomIntInclusive(min, max) {
  2. min = Math.ceil(min);
  3. max = Math.floor(max);
  4. return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
  5. }

⬆️也许很容易想到用 Math.round() 四舍五入来实现这种需求,但是这会导致你的随机数处于一个不均匀的分布,这可能不符合你的需求。