Math 对象用于执行数学任务。
使用 Math 的属性和方法的语法:
// 获取π的值
var pi = Math.PI;
console.log(pi); //3.141592653589793
// 求平方根
var sqrt_value = Math.sqrt(16);
console.log(sqrt_value); //4
Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,把 Math 作为对象使用就可以调用其所有属性和方法。
属性 | 描述 |
---|---|
E | 返回算术常量 e,即自然对数的底数(约等于2.718)。 |
LN2 | 返回 2 的自然对数(约等于0.693)。 |
LN10 | 返回 10 的自然对数(约等于2.302)。 |
LOG2E | 返回以 2 为底的 e 的对数(约等于 1.414)。 |
LOG10E | 返回以 10 为底的 e 的对数(约等于0.434)。 |
PI | 返回圆周率(约等于3.14159)。 |
SQRT1_2 | 返回返回 2 的平方根的倒数(约等于 0.707)。 |
SQRT2 | 返回 2 的平方根(约等于 1.414)。 |
console.log(Math.PI); //3.141592653589793
console.log(Math.E); //2.718281828459045
Math对象方法有很多,需要使用时,我们可以去 MDN文档 中找即可。
下面是一些常用的方法:
比较方法:
Math.min()
求一组数中的最小值
console.log(Math.min(2,1,3,4,4)); // 1
Math.max()
求一组数中的最大值
console.log(Math.max(2,1,3,4,4)); //4
将小数值舍入为整数的几个方法:
Math.ceil()
向上舍入
console.log(Math.ceil(2.1)); //3
Math.floor()
向下舍入
console.log(Math.floor(2.7)); //2
Math.round()
四舍五入
console.log(Math.round(2.7)); //3
console.log(Math.round(2.1)); //2
随机数:
Math.random()
返回大于0小于1的一个随机数 [0,1)
console.log(Math.random()); // 随机数
返回范围为[m,n)的随机数:Math.random()*(n-m)+m
//[3,5)
//[0,1)*2+3-->[3,5)
console.log(Math.random()*2+3);
var myDate = new Date();
console.log(myDate);
//在node环境和浏览器环境输出不同
//在node环境下 2022-08-17T10:13:13.244Z
//浏览器环境下 Wed Aug 17 2022 18:12:31 GMT+0800 (GMT+08:00)
Date 对象会自动把当前日期和时间保存为其初始值。
new Date()
在传入参数的时候,可以获取到一个你传递进去的时间:
var time = new Date('2000-10-10 05:05:05')
console.log(time)
// node环境下 2000-10-09T21:05:05.000Z
// 浏览器环境下 Tue Oct 10 2000 05:05:05 GMT+0800 (GMT+08:00)
还可以传递多个数字参数:
// 第一个参数表示年
// 第二个参数表示月份,月份从0开始计数,0表示1月,11表示12月
// 第三个参数表示该月份的第几天,1~31
// 第四个参数表示当天的几点,0~23
// 第五个参数表示的是该小时的多少分钟,0~59
// 第六个参数表示该分钟的多少秒,0~59
var time = new Date(2000, 00, 1, 10, 10, 10);
console.log(time);
// node环境下 2000-01-01T02:10:10.000Z
// 浏览器环境下 Sat Jan 01 2000 10:10:10 GMT+0800 (GMT+08:00)
var time = new Date();
// 获取当前时间,使用toString()进行转换
console.log(time.toString()); //Wed Aug 17 2022 18:43:54 GMT+0800 (GMT+08:00)
// 获取当前时间 本地化字符串
console.log(time.toLocaleString()); // 2022/8/17 下午6:43:54
// getFullYear() 方式是得到指定字符串中的哪一年
console.log(time.getFullYear()) // 2022
// getMonth() 方法是得到指定字符串中的哪一个月份
// 这里要有一个注意的地方
// 月份是从 0 开始数的
// 0 表示 1月,1 表示 2月,依此类推
console.log(time.getMonth()) // 7 实际是8月
// getDate() 方法是得到指定字符串中的哪一天
console.log(time.getDate()) // 17
// getHours() 方法是得到指定字符串中的哪小时
console.log(time.getHours()) // 18
// getMinutes() 方法是得到指定字符串中的哪分钟
console.log(time.getMinutes()) // 43
// getSeconds() 方法是得到指定字符串中的哪秒钟
console.log(time.getSeconds()) // 54
// getDay() 方法是得到指定字符串当前日期是一周中的第几天(周日是 0,周六是 6)
console.log(time.getDay()) // 3
// getTime() 方法是得到执行时间到 格林威治时间(1970年1月1日0点0分0秒) 的毫秒数,我们把它叫做时间戳
console.log(time.getTime()) // 1660733034780
更多Date对象方法可以查看 MDN文档