Math对象和日期对象用法及案例

Math

Math是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math不是一个对象。

Math用于Number类型。它不支持BigInt。

与其他全局对象不同的是,Math 不是一个构造器。Math 的所有属性与方法都是静态的。引用圆周率的写法是 Math.PI,调用正余弦函数的写法是 Math.sin(x),x 是要传入的参数。Math 的常量是使用 JavaScript 中的全精度浮点数来定义的。

方法
成员功能
PI获取圆周率,结果为3.141592653589793
abs(x)获取x的绝对值,可传入普通数值或是用字符串表示的数值
max()获取所有参数中的最大值
min()获取所有参数中的最小值
pow(base, exponent)获取基数(base)的指数(exponent)次幂,即 baseexponent
sqrt(x)获取x的平方根
ceil(x)获取大于或等于x的最小整数,即向上取整(舍弃小数部分,整数部分加1)
floor(x)获取小于或等于x的最大整数,即向下取整(舍弃小数部分,整数部分不变)
round(x)获取x的四舍五入后的整数值
random()获取大于或等于0.0且小于1.0的随机值
示例代码:

1.圆周率

console.log(Math.PI);

2.绝对值

console.log(Math.abs(9));

console.log(Math.abs(-9));

3.最大最小值

console.log(Math.max(1, 2, 3));//最大

console.log(Math.min(1, 2, 3));//最小

4.向上/下取整

console.log(Math.ceil(1.9));//上

console.log(Math.ceil(1.9));//下

5.平方根

console.log(Math.sqrt(9));

6.四舍五入

console.log(Math.round(-1.5));

console.log(Math.round(-1.6);

7.随机数

//生成0-1之间的随机数[0,1),该方法返回的结果是一个很长的浮点数 Math.random(); //表示生成大于或等于min且小于max的随机数 Math.random() * (max-min)+min; //表示生成0到任意数之间的随机整数 Math.floor(Math.random() * (max+1)); //表示生成1到任意数之间的随机整数 Math.floor(Math.random() * max+1)

案例1:

利用随机数,实现在数组中随机获取一个元素

function getRandom(min, max) { // Math.floor向下取整 return Math.floor(Math.random() * (max - min + 1) + min); } var arr = ['apple', 'banana', 'orange', 'pear'] console.log(arr[getRandom(0, arr.length - 1)])

案例2:

随机生成颜色RGB(0-255,0-255,0-255)

function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } function getRGB(min, max) { //调用生成随机数的函数 var c1 = getRandom(min, max); var c2 = getRandom(min, max); var c3 = getRandom(min, max); //利用字符串拼接返回 return 'rgb(' + c1 + ', ' + c2 + ', ' + c3 + ')'; } console.log(getRGB(0, 255));

日期对象

Date 对象是 JavaScript 内置的对象,通过它您可以访问计算机系统的时间,此外,Date 对象中还提供了多种用于管理、操作和格式化时间/日期的方法。 在开始处理时间和日期之前,我们需要先创建一个 Date 对象。 与其他对象(数组对象、字符串对象等)不同,Date 对象不能直接声明,必须通过 Date () 函数定义。

日期对象常用的get方法
方法作用
getFullYear()获取表示年份的4位数字,如2020
getMonth()获取月份,范围0~11(0表示一月,1表示二月,依次类推)
getDate()获取月份中的某一天,范围1~31
getDay()获取星期,范围0~6(0表示星期日,1表示星期一,依次类推)
getHours()获取小时数,返回0~23
getMinutes()获取分钟数,范围0~59
getSeconds()获取秒数,范围0~59
getMilliseconds()获取毫秒数,范围0~999
getTime()获取从1970-01-01 00:00:00距离Date对象所代表时间的毫秒数
日期对象的常用set方法
方法作用
setFullYear(value)设置年份
setMonth(value)设置月份
setDate(value)设置月份中的某一天
setHours(value)设置小时数
setMinutes(value)设置分钟数
setSeconds(value)设置秒数
setMilliseconds(value)设置毫秒数
setTime(value)通过从1970-01-01 00:00:00计时的毫秒数来设置时间
Date可接收的参数
1.接收一个Number

一般是时间戳的毫秒数,返回参数数字所处的时间

var date = new Date(123415345612);

console.log(date)

//输出:Thu Nov 29 1973 18:02:25 GMT+0800 (中国标准时间)

2.接收一个String类型参数

不过需要正确的格式,如“2010-10-10 10:10:10”返回对应时间

var date = new Date("2010-10-10 10:10:10");

console.log(date);

//输出:2010/10/10 10:10:10

3.可传入多个参数

总共可传入7个Number类型,分别是年,月(0-11),日,时,分,秒,毫秒。这种方式的每一个参数没有规定范围, Date对象会自动帮我们算出对应的时间 。

var date = new Date(2023,4,15,1,10,10,10,999);

console.log(date)

//输出:Mon May 15 2023 01:10:10 GMT+0800 (中国标准时间)

案例1:统计代码执行时间

获取时间戳的常见方式

//方式一:通过日期对象的valuesof()或getTime()方法
var date = new Date();
//用于获取对象原始值
console.log(date.valueOf());//结果:1681532931624
console.log(date.getTime());//结果:1681532931624

// 方式2:使用“+”运算符转换为数值型
var date2 = + new Date();
console.log(date2); // 结果:1681533198817

// 方式3:使用HTML5新增的Date.now()方法
console.log(Date.now()); // 结果:1681533198818

案例2:格式化日期对象,HH:mm:ss 的形式 比如 00:10:45

function getTimer() { // 获取当前时间 var date = new Date(); var h = date.getHours();//获取当前小时数 var m = date.getMinutes();//获取当前分钟数 var s = date.getMinutes();//获取当前秒数 // 使用三元表达式格式化日期 h = h < 10 ? '0' + h : h m = m < 10 ? '0' + m : m s = s < 10 ? '0' + s : s return h + ':' + m + ':' + s; } console.log(getTimer());

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值