Math对象所有的api,都不支持new一个对象来使用,而是直接通过构造函数来使用
Math.random()
Math对象常用api
-
Math.random() //返回0-1之间的随机数 [0,1)
-
Math.round(3.6) //四舍五入 4
-
随机数如何设定范围
固定套路:任意 min max之间取随机整数
Math.floor(Math.random()*(max-min)+min);
0-10之间的数 5-10之间的数 10-20之间的数
-
max(num1, num2) //返回较大的数 可以写多个值;
-
min(num1, num2) //返回较小的数
-
abs(num) //绝对值
-
ceil(19.3) //12 向上取整
-
floor(11.8) //11 向下取整
-
Math.PI // π值;
-
Math.pow(底数,幂数) Math.pow(2,3)
十进制数字转16进制或8进制
var x = 110;
x.toString(2)//转为2进制
x.toString(8)//转为8进制
x.toString(16)//转为16进制
var x = "110"//这是一个二进制的字符串表示 注意这里不能是超过f的字母或者字符(不可以超过十六进制)
parseInt(x, 2)//把这个字符串当做二进制, 转为十进制
?
var x = "70"//这是一个八进制的字符串表示
parseInt(x, 8)//把这个字符串当做八进制, 转为十进制
?
var x = "ff"//这是一个十六进制的字符串表示
parseInt(x, 16)//把这个字符串当做十六进制, 转为十进制
parseInt方法是用于将字符串转为数字的方法。 接受两个参数。 第一个要转换的字符串,第二个是可选的, 如果没有值, 默认是10进制; 如果有值, 就是以该值为转换进制
案例:
编写一个函数,获得一个十六进制的随机颜色的字符串(例如:#20CD4F)
编写一个函数,得到一个十进制的随机颜色 如:rgb(2,133,12);
Date对象
日期对象创建
类型使用自 CTU(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期。Date 类型保存的日期能够精确到 1970 年 1 月 1 日之前或之后的 285616 年。
-
var d=new Date( ); 不传递任何参数默认返回当前时间
-
var d=new Date( ‘2015/12/2‘);
在传入参数的情况下,获得的是传入的时间01,不传参
var now = new Date() //获取的是当前时间
02,传参 自定义时间
传字符串
var date = new Date("2019/11/11[ 12:12:12]");
传数字 多个参数
var date = new Date(yyyy,MM,dd,hh,mm,ss);//月份-1
时间戳: 距离1970年1月1日毫秒数
日期对象
date.getTime() 获取时间戳
传一个时间戳
var date = new Date(时间戳);日期对象常用api
[api] http://www.w3school.com.cn/js/jsref_obj_date.asp api获取:
d.getFullYear() 获取当前的四位数年份
d.getMonth() 获取当前的月份 (从0开始) +1
d.getDate() 获取当前的日期
getDay() 获取星期 0 - 6 0是星期天
getHours() 获取时
getMinutes() 获取分钟
getSeconds() 获取秒
设置:
setFullYear() 设置年份 参数四位数年份
setMonth() 设置月份 参数 0-11
setDate() 设置 日期 **** 1-31
?
五天以后的时间
?
...
toString()
toLocaleString() 转换成本地格式的时间
toLocaleDateString() 转换成本地格式的时间 去掉 时分秒
toGMTString() 格林尼治标准时间 世界时将日期格式化成字符串
要求封装函数,实现格式化日期格式
日期转为毫秒数
-
Date.parse("2015-08-24")
获取1970年到设定时间的毫秒数 -
Date.getTime()
计算两个日期的时间差值
function count(){
var date1=new Date(2010,10,3);
var date2=new Date(2017,9,24);
var date=(date2.getTime()-date1.getTime())/(1000*60*60*24);/*不用考虑闰年否*/
alert("相差"+date+"天");
}日期差值;
var date1 = new Date(‘2013/04/02 18:00‘)
var date2 = new Date(‘2013/04/02 19:22:21‘)
var s1 = date1.getTime(),s2 = date2.getTime();
var total = (s2 - s1)/1000;
var day = parseInt(total / (24*60*60));//计算整数天数
var afterDay = total - day*24*60*60;//取得算出天数后剩余的秒数
var hour = parseInt(afterDay/(60*60));//计算整数小时数
var afterHour = total - day*24*60*60 - hour*60*60;//取得算出小时数后剩余的秒数
var min = parseInt(afterHour/60);//计算整数分
var afterMin = total - day*24*60*60 - hour*60*60 - min*60;//取得算出分后剩余的秒数永动机
setInterval(function(){},inter); 以毫秒为单位
?
function fn(){
?
}
setInterval(fn,inter); 以毫秒为单位倒计时案例