目录
一、Math数学对象
1.Math.PI; 圆周率 π
2.Math.max()最大值
3.Math.min()最小值
4.Math.ceil() 向上取整 , 返回值>=参数
5.Math.floor() 向下取整 返回值<=参数
6.Math.round() 四舍五入取整
7.Math.abs() 返回数的绝对值
8.Math.pow(x,y) x的y次幂
9.Math.random()随机数
1.四舍五入取随机数
2.向上取整的随机数
3.向下取整的随机数
4.[5-15]之间的随机数
公式
三、日期对象
1.没有输入参数,就会返回系统的当前时间
2.参数常用写法:
日期对象
今天是2022年4月10日 星期日
返回当前的时分秒,08:08:08
获得Date总的毫秒数(时间戳),不是当前的毫秒数,而是距离1970.01.01总的毫秒数
JavaScript提供了多个内置对象:Math, Date , Array, String等
数学对象不是一个构造函数,不需要声明,直接使用里面的属性和方法即可
一个属性
console.log(Math.PI); // 3.141592653589793
Math.max(value1,value2,value3...),里面要写一组数值,返回给定的一组数组中的最大值
如果给的参数中至少有一个参数无法转换成数字,会返回NaN
如果一个参数也没有,会返回-Infinity
console.log(Math.max(1,2,3,5,88,99,0)); //99
console.log(Math.max(-120,-1,-34)); //-1
console.log(Math.max(1,2,3,5,88,99,0,'html课程')); //NaN
console.log(Math.max()); //-Infinity
console.log(Math.min(1,2,3,5,88,99,0)); //0
console.log(Math.min(-120,-1,-34)); //-120
console.log(Math.ceil(9.1)); //10
console.log(Math.ceil(9.9)); //10
console.log(Math.ceil(-2.189)); //-2
console.log(Math.floor(9.1)); //9
console.log(Math.floor(9.9)); //9
console.log(Math.floor(-2.189)); //-3
四舍五入里,其他数字都是四舍五入,但是0.5是往大的数取
console.log(Math.round(9.1)); //9
console.log(Math.round(9.9)); //10
console.log(Math.round(-1.234)); //-1
console.log(Math.round(-1.5)); //-1
console.log(Math.abs(1)); //1
console.log(Math.abs(-1)); //1
console.log(Math.abs('-1')); //1 隐式转换 会把字符串 -1 转换为数字型
console.log(Math.pow(2,3)) //8
console.log(Math.pow(2,0)) //1
console.log(Math.pow(2,-1)) //0.5
默认0-1之间的数
举栗子:
console.log(Math.round(Math.random()*10)) //[0-10]
console.log(Math.ceil(Math.random()*10)) //(0-10]
console.log(Math.floor(Math.random()*10)) //[0-10)
console.log(Math.round(Math.random()*10+5))
console.log(Math.floor(Math.random()*11+5))
[m-n] m和n之间的随机整数,并包含m,n
Math.round(Math.random() * (m - n) + n);
Math.floor(Math.random() * (m - n + 1) + n);
拓展:
rgb是从0-255
var red = Math.floor(Math.random() * 256); var blue = Math.floor(Math.random() * 256); var green = Math.floor(Math.random() * 256);
上述代码为[0-256)
举个栗子
日期对象 是一个构造函数,要使用new调用创建日期对象
var myDate = new Date(); console.log(myDate); //Sun Apr 10 2022 15:47:02 GMT+0800 (中国标准时间)
数字型 2019,10,01 (月份会比输入的大一)
var myDate = new Date(2019,10,01); console.log(myDate); //Fri Nov 01 2019 00:00:00 GMT+0800 (中国标准时间)
字符串型 '2019-10-01 8:8:8'
var myDate = new Date('2019-10-01 8:8:8'); console.log(myDate); //Tue Oct 01 2019 08:08:08 GMT+0800 (中国标准时间)
以字符串形式显示
var myDate = new Date(); console.log(myDate.toLocaleDateString()); //2022/4/11 console.log(myDate.toLocaleTimeString()); //10:43:50 console.log(myDate.toLocaleString()); //2022/4/11 10:44:06
myDate.getFullYear() | 年份(数字类型) |
myDate.getMonth() | 月份(0-11)1月是0,2月是1 |
myDate.getMonth()+1 | 正常月份 |
myDate.getDate() | 日期 |
myDate.getDay() | 星期(0-6)星期日是0 |
myDate.getHours() | 小时(24小时制) |
myDate.getMinutes() | 分钟 |
myDate.getSeconds() | 秒 |
myDate.getMilliseconds() | 毫秒(1s=1000ms) |
myDate.getTime() | 毫秒(距离1970.1.1的毫秒数) |
栗子1:
var myDate = new Date(); var year = myDate.getFullYear(); var month = myDate.getMonth() + 1; var date = myDate.getDate(); var arr=['星期日','星期一','星期二','星期三','星期四','星期五','星期六',] var day = myDate.getDay(); console.log(`今天是${year}年${month}月${date}日 ${arr[day]}`);
栗子2:
function getTime() {
var time = new Date();
var h = time.getHours();
h = h < 10 ? '0' + h : h
var m = time.getMinutes();
m = m < 10 ? '0' + m : m
var s = time.getSeconds();
s = s < 10 ? '0' + s : s
var ms = time.getMilliseconds();
return h + ':' + m + ':' + s + ':' + ms
}
console.log(getTime());
栗子3:
有4种·方法
var myDate = new Date(); //1.通过valueOf() console.log(myDate.valueOf()); //2.通过getTime() console.log(myDate.getTime()); //3.+new Date() 返回总的毫秒数 var date =+new Date(); console.log(date); //4.Date.now() console.log(Date.now());