JS Math对象和日期对象的用法
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的随机值 |
实例代码:
// 获取圆周率
Math.PI; //3.141592653589793
// 获取绝对值
Math.abs(-1); //1
Math.abs('-11') //11
// 获取最大值
Math.max(1, 2, 3, 4, 5); //5
// 获取最小值
Math.min(1, 2, 3, 4, 5); //1
// 获取基数(base)的指数(exponent)次幂
Math.pow(2, 4);// 获取2的4次幂 //16
// 获取x的平方根
Math.sqrt(9); //3
// 向上取整
Math.ceil(1.9); //2
// 向下取整
Math.ceil(1.9); //1
// 四舍五入
Math.round(1.5); //2
// 四舍五入
Math.round(-1.5); //-1
// 四舍五入
Math.round(-1.6); //-2
2. 生成指定范围的随机数
Math.random()用来获取随机数,每次调用该方法返回的结果都不同。
该方法返回的结果是一个很长的浮点数,如“0.92504”,其范围是0~1(不包括1)。
语法
Math.random()
示例代码:
// 生成0-1之间的随机数
// [0,1)
var res = Math.random()
console.log(res);
// 生成大于或等于min且小于max的随机值
Math.random() * (3 - 1) + 1; //1<=返回结果<3
Math.random() * (20 - 10) + 10; //10<=返回结果<20
Math.random() * (99 - 88) + 88 //88<=返回结果<99
// 生成0到任意数之间的随机整数
// [1,3]
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
console.log(getRandom(1, 3)); //最小值1,最大值3
// 生成1到任意数之间的随机整数
//利用随机数,可以实现在数组中随机获取一个元素
var arr = ['apple', 'banana', 'orange', 'pear'];
//调用前面编写的getRandom()函数获取随机数
console.log(arr[getRandom(0, arr.length - 1)]);
【案例】猜数字游戏
要求:求10-20(包含10和20)之间的随机整数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
console.log(getRandom(10, 20))
日期对象的使用
JavaScript 中的日期对象用来处理日期和时间
使用new Date()
创建方式如下:
// 方式1:没有参数,使用当前的系统的当前时间作为对象保存的时间
var date1 = new Date();
console.log(date1)
// 输出:Wed Apr 05 2023 04:14: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日期对象的常用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对象所代表时间的毫秒数 |
Date日期对象的常用set方法
方法 | 作用 |
---|---|
setFullYear(value) | 设置年份 |
setMonth(value) | 设置月份 |
setDate(value) | 设置月份中的某一天 |
setHours(value) | 设置小时数 |
setMinutes(value) | 设置分钟数 |
setSeconds(value) | 设置秒数 |
setMilliseconds(value) | 设置毫秒数 |
setTime(value) | 通过从1970-01-01 00:00:00计时的毫秒数来设置时间 |
案例:通过具体代码演示Data对象的使用,在控制台中输出当前日期
var date = new Date(); //基于当前日期时间创建Date对象
var year = date.getFullYear();//获取年
var month = date.getMonth();//获取月
var day = date.getDate(); //获取日
//通过数组将星期值转换为字符串
var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
//输出date对象保存的时间,示例:今天是2019年9月16日 星期三
console.log('今天是' + year + '年' + month + '月' + day + '日' + week[date.getDay()]);