一、Math
专门用于数学计算的API,不需要创建,由浏览器 js解释器创建
1、取整:
上取整:var new=Math.ceil(num);//小数不管是几整数都会入一位,小数位数超过15位则失效
下取整:var new=Math.floor(num);//不管小数是几,都会省略小数
四舍五入取整:var new=Math.round(num);//只根据第一位小数,来四舍五入,最后只能是整数。
2、乘方和开方
乘方:var new=Math.pow(底数,幂);//代替8*8*8*8*8
开方:var new=Math.sqrt(num);//只能开平方
不用toFixed方法保留小数位数和四舍五入:
function round(num,d){//num传入的数字,d是保留的位数
//先拿着数字*10的d次方
num*=Math.pow(10,d);
//四舍五入取整
num=Math.round(num);
//拿着数字/10的d次方
num/=Math.pow(10,d);
//返回结果
return num;
}
console.log(round(3.1415926,3));//输出的是3.142
3、最大值&最小值
var new=Math.max(字符串);var new=Math.min(字符串);
数组用:var new=Math.max.apply(Math.arr);
apply可以去借用这个方法给数组使用,apply会将数组打散为单个元素
4、绝对值:将负数转为整数
Math.abs(num);可以用这个负数*1,一样的效果
5、随机数
Mmath.random();在0-1之间得到一个随机数,可能取到0,但是取不到1,解决:
parseInt(Math.random()*(max-min+1)+min)
二、Date日期对象
1、创建方式:
创建当前时间:var new=new Date();
创建自定义时间:var new=new Date("年/月/日 时:分:秒")
创建自定义时间2:var new=new Date(年,月,日,时,分,秒)//这个方法月是从0开始的
复制时间:var new1=new Date(new);//因为日期的所有API都会直接修改原日期
毫秒数:var new Date(毫秒数),
日期的底层是一个毫秒数,可以用两个时间相减,得到是一个毫秒差
2、API
年月日星期:FullYear Month Date Day
时分秒毫秒:Hours Minutes Seconds Milliseconds
每一个时间都可以用get获取到,set除了Day不能用,其他都能用来设置时间,Day是一天天推算过来的,并且日期都会自动进制
取值范围:
FullYear:当前年份数字
Month:0-11
Date:1-31
Day:0-6,0代表就是星期天
Hours:0-23
Minutes、Seconds:0-59
3、格式化转为字符串:
var str=date.toLocaleString();//转了字符串就可以用字符串的API,这个问题具有兼容性问题
btn1.onclick=function(){
//创建日期
var new1= new Date("1998/02/01 08:01:02")
function gsh(date){
console.log(typeof( date))
//获取到日期的所有内容
var y=date.getFullYear(),
//月份是从0到11,所以需要加1
m=date.getMonth()+1,
d=date.getDate(),
h=date.getHours(),
f=date.getMinutes(),
s=date.getSeconds();
//将他们拼接起来
console.log(y+"年"+m+"月"+d+"日"+" "+h+"时"+f+"分"+s+"秒")
}
gsh(new1);
}