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。
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min; //不含最大值,含最小值
}
得到一个两数之间的随机整数,包括两个数在内:
上一个例子提到的函数 getRandomInt() 结果范围包含了最小值,但不含最大值。如果你的随机结果需要同时包含最小值和最大值,怎么办呢? getRandomIntInclusive() 函数可以实现。
function getRandomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
}
⬆️也许很容易想到用 Math.round() 四舍五入来实现这种需求,但是这会导致你的随机数处于一个不均匀的分布,这可能不符合你的需求。