Math对象提供了很多的属性和方法,用于辅助完成复杂的计算任务。
Math.min() 和 Math.max()
这两个方法用于确定一组数值中的最小值和最大值。
var a = Math.min(1,2,3,4);
console.log(a); //1
var b =Math.max(1,2,3,4);
console.log(b); //4
舍入方法
Math.ceil()(向上取整)
var a = Math.ceil(3.23)
console.log(a); //4
Math.floor() (向下取整)
var a = Math.ceil(3.25)
console.log(a); //3
Math.round()(四舍五入)
var a = Math.round(3.42)
console.log(a); //3
var b = Math.round(3.499999999999999999) //特殊情况,输出结果为4
Math.random() 方法
返回大于等于0小于1的一个随机数 0 <= x < 1
封装一个方法:随机生成n到m的随机数。
function random(n,m){
var num = m - n + 1 ;
return Math.floor(Math.random()*num+n);
}
console.log (random(0,10));//随机生成0-10的整数
求1-100的随机数
var num = Math.floor(Math.random() * (100 - 1 + 1) + 1)
console.log(num)
Math.abs(number) 返回number的绝对值
日期与对象
创建一个日期对象
var time = new Date();
var time = new Date('2016,3,12')
组件方法
console.log(time.getTime()); // 获取日期的毫秒数
console.log(time.getFullYear()) //获取四位年份
console.log( time.getDate()) //获取日期
console.log( time.getDay()) //返回星期几, 0 表示星期日, 6 表示星期六
console.log(time.getMinutes() ) //返回分
console.log(time.getSeconds()) //返回秒
设置的话用set就好
有了这些我们就可以写一个倒计时
// 在HTML中写了一个p标签,然后引入到js中
var p = document.getElementsByTagName("p")[0];
封装一个倒计时
function daojishi(stoptime) {
var start = new Date() //获取当前时间
var stop = new Date(stoptime) //获取截止时间
var shicha = stop.getTime() - start.getTime() // 获取截止时间距离现在的毫秒差
var days = Math.floor(shicha/1000/60/60/24); //获取天数
var hours = Math.floor(shicha / 1000 / 60 / 60 % 24); // 获取小时
var minutes = Math.floor(shicha / 1000 / 60 % 60); //获取分钟数
var seconds = Math.floor(shicha / 1000 % 60); //获取秒数
// 第一种连接方法
// var daojishi = days + "天" + hours + "时" + minutes + "分" + seconds + "秒";
// 第二种连接方法
var daojishi = `${days}天${hours}时${minutes}分${seconds}秒`
p.innerHTML = daojishi
}
daojishi("2019,10,1") 传参
/给它一个定时器
timer = null;
timer = setInterval(function(){
daojishi("2019,10,1") 调用就好
},1000)//时间我们设置1000毫秒,也就是1秒钟
如下图所示,只不过截图不会动,可以拉到VScCode里看一下