JS里的Math对象和日期对象的使用

我又来写博客啦

 今天我们来学习以下内容

目录

  今天我们来学习以下内容

      1.Math对象的使用

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

      3.案例:猜数字游戏

      4.日期对象的使用      

     5.案例:统计代码执行时间

      6.案例:倒计时

好啦进入我们今天的正题!!!!!!

 

1.Math对象的使用

学习Math对象首先我们要了解一下什么是Math对象,据我从书上翻阅所知,Math对象用来对数字进行与数学相关的运算,该对象不是构造函数,不需要实例化对象,可以直接使用其静态属性和静态方法。

那我们常用的Math对象的方法和属性又有哪些呢

Math属性解释
.random0-1之间的随机数(没有1)
.pow(x,y)求x的y次方
.sqrt获取平方根
.round四舍五入
.ceil向上取整
.floor向下取整
.PI取π的值
.abs取绝对值
.max取最大值
.min取最小值

现在我们用代码来实现一下以上的方法和属性

.random()方法


    // 获取一个从0到9的随机整数数字
    var r = Math.random();
    var num = parseInt(Math.random() * 10);对于整个函数只是单纯的负责取整,而不是四色五入
    console.log(num);

.pow(x,y)方法

   var num = Math.pow(2, 8);
    console.log(num); // 256

.sqrt()方法 

var a=Math.sqrt(4);  // 2
console.log(a)

.round()

var num = 1.4;
    var num1 = 1.5;
    console.log(Math.round(num)); // 1
    console.log(Math.round(num1)); // 2

.ceil()

  var num = 1.1;
    var result = Math.ceil(num);
    console.log(result); // 2

.floor()

  var num = 1.1; 
    var result = Math.floor(num);
    console.log(result); // 1

.PI()

var b=Math.PI
console.log(b)

 .abs()

// 定义一个负数
    var num2 = -10;
    // 获取它的绝对值
    var abs = Math.abs(num2);
    // 输出
    console.log(abs); // 10

.max()

 var max = Math.max(1, 2, 56, 78, 99, 0, 46, 23);
    console.log(max);//99

 .min()

 var min = Math.min(1, 2, 56, 78, 99, 0, 46, 23);
    console.log(min);//0

 好啦,代码都演示完了,让我们做一个关于随机数的案例

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

我们都知道Math.random()是用来获取随机数的,每次调用该方法的返回值都是不同的,该返回值的结果是一个很长的浮点数,它的范围是0—1.

 Math.random返回的随机数不怎么常用,我们可以借助一些数学公式来转换成任意范围内的的随机数,公式为Math.random()*(max-min)-min它表示生成大于或等于min且小于max的随机数

代码实现:

// 生成大于或等于min且小于max的随机值
// [1-10)
var res1 = Math.random() * (10 - 1) + 1;
console.log(res1);

 当需要获取整数结果时,可以搭配Math.floor()【向下取整】来实现

function getRandom(min,max){
   return Math.floor(Math.random()*(max-min+1)+min)
}
console.log(getRandom(1,3));//最小值1,最大值3

 还可以使用Math.floor(Math.random()*(max+1))表示生成0到max之间的随机整数,使用Math.floor(Math.random()*max+1)表示生成1到max之间的随机整数

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

  3.案例:猜数字游戏

知道了这些方法让我们来试验一下,做一个案例

案例条件:

使程序随机生成一个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;
}
}

以上就是有关Math对象的方法啦,学完这一节我们来学习一下日期对象吧

在我们日常生活中有许多关于日期的地方,如秒杀活动中的日期显示,时钟效果,手机日历等都有用到日期对象,在javascript中什么又是日期对象呢,听其名知其意,日期对象就是用来处理日期和时间的,既然已经知道了它的概念那我们就了解一下它的用法

      4.日期对象的使用

注意:日期对象需要使用new Date()实例化对象才能使用,其中Date()是日期对象的构造函数

// 方式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');

了解了日期对象的一些基本概念之后,我来给你们梳理一些Date()对象常用get方法和set方法

           Date对象的常用的get方法

方法作用
getFullYear()获取表示年份的4位数
getMonth()获取月份,范围0-11
getDate()获取月份中的某一天
getDay()获取星期
getHours()获取小时数
getMinutes()获取分钟数
getSeconds()获取秒数
getMilliseconds获取毫秒数
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()方法

var date=new Date();//基于当前日期时间创建Date对象
var year =date.getFullYear();//获取年
var month=date.getMonyth();//获取月
var day=date.getDate();//获取日
var week=['星期一','星期二','星期三','星期四','星期五','星期六','星期日'];
console.log('今天是'+year+'年'+month+'月'+day+'日'+wekk[date.getDay()]);

在开发中我们需要将日期对象中的时间转换成指定格式

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 d=time.getSeconds();
    s=s<10?'0'+s:s;
    return h+':'+m+':'+s;
}
console.log(getTime());

学了日期对象后让我们敲两个案例试试手,不管是统计代码的执行时间还是一个活动的倒计时,我们都要运用到日期对象,那下面就让我们用日期对象完成以下案例吧

  5.案例:统计代码执行时间

通过时间戳可以计算两个时间之间的时间差还可以用于加密,数字签名等技术中

// 方式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

  6.案例:倒计时

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());

今天的代码就写到这啦

你提问,我修改

下次的代码下次说啦,走啦走啦

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值