JavaScript基础之Math、Data对象
文章目录
- 1.Math对象
-
-
-
- 1.1Math绝对值和三个取整方法
- 1.2Math.random()
-
-
- 2.Data()日期对象
-
-
-
- 2.1Date()方法的使用
-
-
- 2.1.1获取当前时间必须实例化
- 2.1.2`Date()`构造函数的参数
-
- 2.2日期格式化
- 2.3获取日期的总的毫秒形式
-
-
1.Math对象
Math 对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 中的成员
Math对象的常用属性、方法有:
<script> Math.PI //圆周率 Math.random() //返回一个[0,1)之间的随机数 Math.floor() //向下取整 Math.ceil() //向上取整 Math.round() //四舍五入取整 Math.abs() //取绝对值 </script>
举例:
<script> var pi = Math.PI //PI var a = Math.floor(Math.random() * 10) //返回一个[0,10)之间的整数 var b = Math.abs(-5.5) console.log(pi, a, b); //3.141592653589793 4 5.5 </script>
1.1Math绝对值和三个取整方法
Math.abs()
取绝对值Math.floor()
: 向下取整Math.ceil()
: 向上取整Matg.round()
: 四舍五入
<script> //Math.abs() console.log(Math.abs(2.3)); //2.3 console.log(Math.abs(-3.1)); //3.1 //Math.floor() console.log(Math.floor(3.2)); //3 console.log(Math.floor(-3.1)); //-4 //注意负数向下取整数字变大 //Math.ceil() console.log(Math.ceil(3.6)); //4 console.log(Math.ceil(-4.1)); //-4 //Math.round() console.log(Math.round(3.2)); //3 console.log(Math.round(-2.4)); //-2 </script>
1.2Math.random()
-
Math.random()
方法可以随机返回一个小数,其取值范围是 [0,1) -
得到一个两数之间的随机整数,包括第一个数,不包括第二个数
-
猜数字小游戏~~
<script> var n = Math.floor(Math.random() * 10) + 1 while (true) { var num = prompt('请输入一个1~10之间的整数') if (num < 1 || num > 10) { alert('你猜的数超出范围!') } else if (num < n) { alert('你猜小了!') } else if (num > n) { alert('你猜大了!') } else { alert('恭喜,你猜对了!') break; } } </script>
2.Data()日期对象
Date
对象和Math
对象不一样,他是一个构造函数,所以我们需要实例化后才能使用Date
实例用来处理日期和时间
2.1Date()方法的使用
2.1.1获取当前时间必须实例化
<script> var timeNow = new Date() console.log(timeNow); </script>
2.1.2Date()
构造函数的参数
- 如果
Date()
不写参数,就返回当前时间 - 如果
Date()
里面写参数,就返回括号里面输入的时间
<script> //没有参数 var timeNow = new Date() console.log(timeNow); //有参数 var time = new Date(2022, 5, 1) console.log(time); //Wed Jun 01 2022 00:00:00 GMT+0800 (中国标准时间) //注意输出的月份比输入的月份往后推一个月,12月输出1月 //这里虽然传入了5月1日,但输出6月1日 </script>
2.2日期格式化
我们想要 2022-6-6 08:08:08 格式的日期,要怎么办?
这需要获取日期指定的部分,所以我们要手动的得到这种格式
方法名 | 说明 | 代码 |
---|---|---|
getFullYear() |
获取当年 | Obj.getFullYear() |
getMonth() |
获取当月(0-11) | Obj.getMonth() |
getDate() |
获取当天日期 | Obj.getDate() |
getDay() |
获取星期几(周日0到周六6) | Obj.getDay() |
getHours() |
获取当前小时 | Obj.getHours() |
getMinutes() |
获取当前小时 | Obj.getMinutes() |
getSeconds() |
获取当前秒钟 | Obj.gerSeconds() |
<script> var date = new Date(); console.log(date.getFullYear()); // 返回当前日期的年 2022 console.log(date.getMonth() + 1); //返回的月份小一个月 记得月份 +1 console.log(date.getDate); //返回的是几号 console.log(date.getDay()); //周一返回1 周6返回六 周日返回0 //2022年 6月 6日 星期一 var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var dates = date.getDate(); console.log('今天是' + year + '年' + month + '月' + dates + '日'); // 封装一个函数返回当前的时分秒 格式 08:08:08 function getTimer() { 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; return h + ':' + m + ':' + s; } console.log(getTimer()); </script>
2.3获取日期的总的毫秒形式
date.valueOf()
:得到现在时间距离1970.1.1总的毫秒数date.getTime()
:得到现在时间距离1970.1.1总的毫秒数
<script> var time = new Date() //valueOf() 和 getTime()函数获取时间戳 console.log(time.valueOf()); console.log(time.getTime()); //简化写法 var time1 = +new Date() console.log(time1); //HTML5中的新方法 console.log(Date.now()); //以上三种得到的都是距离1970.1.1的总毫秒数 </script>