Math对象和日期对象用法

一.Math对象用来对数字进行与数学相关的运算,该对象不是构造函数,不需要实例化对象,可以直接调用

Math对象的常用属性和方法

成员
功能
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.获取圆周率——PI
console.log(Math.PI)

2.获取绝对值——abs(x)

console.log(Math.abs(-1)) //25
console.log(Math.abs('-11')) //自动转换为数字,返回结果为25
3. 获取最大值——max(x)
console.log(Math.max(1, 2, 3, 4, 5)); //5
4.  获取最小值——min(x)
console.log(Math.min(1, 2, 3, 4, 5)); //1
5. 获取基数( base )的指数( exponent )次幂——pow(base,exponent)
console.log(Math.pow(2, 4)); //16
6.  获取 x 的平方根——sqrt(x)
console.log(Math.sqrt(9)); //3
7.  向上取整——ceil(x)
console.log(Math.floor(1.9)); //2
8. 向下取整——floor(x)
console.log(Math.ceil(1.9)); //1
9. 四舍五入——round(x)
console.log(Math.round(1.5)); //2

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

1.生成指定范围的随机数

Math.random() 用来获取随机数,每次调用该方法返回的结果都不同。 该方法返回的结果是一个很长的浮点数,其范围是0~1 (不包括 1 )。
语法为:
Math.random()
// 表示生成大于或等于 min 且小于 max 的随机值
Math . random () * ( max - min ) + min ;
// 表示生成 0 到任意数之间的随机整数
Math . floor ( Math . random () * ( max + 1 ));
// 表示生成 1 到任意数之间的随机整数
Math . floor ( Math . random () * max + 1 );

 示例代码如下:

// 生成0-1之间的随机数
// [0,1)
var res = Math.random()
console.log(res);
// 生成大于或等于min且小于max的随机值
// [1-10)
var res1 = Math.random() * (10 - 1) + 1;
console.log(res1);
// 生成0到任意数之间的随机整数
// [0,10]
var res2 = Math.floor(Math.random() * (10 + 1));
console.log(res2);
// 生成1到任意数之间的随机整数
// [1,10]
var res3 = Math.floor(Math.random() * 10 + 1);
console.log(res3);

案例1:

要求:求 10-20 (包含 10 20 )之间的随机整数

具体代码如下:

function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
console.log(getRandom(10, 20))

 案例2:

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

 具体代码如下:

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

 案例3:

要求: 随机生成颜色 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));
案例:猜数字游戏
案例需求: 使程序随机生成一个 1~10 之间的数字,并让用户输入一个数字,判断这两个数的大 小,如果用户输入的数字大于随机数,那么提示“ 你猜大了 ,如果用户输入的数字小于随机数, 则提示“ 你猜小了 ,如果两个数字相等,就提示 恭喜你,猜对了 ,结束程序。

  具体代码如下:

function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
var random = getRandom(1, 10);
while (true) { //死循环,利用break来跳出循环
var num = prompt('猜数字,范围在1~10之间。');
if (num > random) {
alert('你猜大了');
}
else if (num < random) {
alert('你猜小了')
}
else {
alert('恭喜你,猜对了');
break;
}
}

 二.日期对象

JavaScript中的日期对象用来处理日期和时间。例如,秒杀活动中日期的实时显示、时钟效果、在线日历等。

注意:

JavaScript中的日期对象需要使用new Date()实例化对象才能使用,Date()是日期对象的构造函数(和Math是有区别的)。

语法如下:
// 方式1:获取当前时间
var date1 = new Date();
console.log(date1)
// 输出:Wed Apr 05 2023 20:57:12 GMT+0800 (中国标准时间)
// 方式2:传入年、月、日、时、分、秒(月的范围是0~11,即真实月份-1)
var date2 = new Date(2023, 03, 06, 10, 57, 56);
console.log(date2)
// 输出:Thu Apr 06 2023 10:57:56 GMT+0800 (中国标准时间)
// 方式3:用字符串表示日期和时间
var date3 = new Date('2023-04-06 10:57:56');
console.log(date3)
// 输出:Thu Apr 06 2023 10:57:56 GMT+0800 (中国标准时间)

结论

  • 如果Date()不写参数,就返回当前时间
  • 如果Date()里面写参数,就返回括号里面输入的时间 

Date对象的常用方法

方法
作用
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对象所代表时间的毫秒数

 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)对象的使用:
function getMyDate() {
var arr = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
// 获取当前时间
var date = new Date();
console.log(date);
// 获取当前年份:date.getFullYear()
// 获取当前月份:date.getMonth() + 1——(0表示一月,1表示二月,依次类推)
// 获取当前月份中的某一天:date.getDate()
// 获取星期:arr[date.getDay()]——(0表示星期日,1表示星期一,依次类推)
var str = date.getFullYear() + '年' + (date.getMonth() + 1) + '月' +
date.getDate() + '日 ' + arr[date.getDay()];
return str;
}
console.log(getMyDate());
案例1:统计代码执行时间
时间戳 是获取从 1970 1 1 0 0 0 秒开始一直到当前 UTC时间所经过的毫秒数,这个值可以作为时间戳来使用。通过时间戳,可以计算两个时间之间的时间差,还可以用于加密、数字签名等技术中。获取时间戳的常见方式如下:
// 方式1:通过日期对象的valueof()或getTime()方法
var date1 = new Date();
// valueOf用于获取对象的原始值
console.log(date1.valueOf()); // 示例结果:1571196996188
console.log(date1.getTime()); // 示例结果:1571196996188
// 方式2:使用“+”运算符转换为数值型
var date2 = + new Date();
console.log(date2); // 示例结果:1571196996190
// 方式3:使用HTML5新增的Date.now()方法
console.log(Date.now()); // 示例结果:1571196996190

 案例2:倒计时

 要求:写一个函数,格式化日期对象,HH:mm:ss 的形式 比如 00:10:45

具体代码如下 

function getTimer() {
// 获取当前时间
var date = new Date();
// var str = date.getHours() + ':' + date.getMinutes() + ':' +
date.getSeconds();
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());

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值