Math对象和日期对象的使用

文章详细介绍了JavaScript中的Math对象,包括PI、abs、max、min、pow等方法的使用,并提供了示例代码。同时,文章还讲解了Date对象的创建和使用,如getFullYear、setHours等方法,以及如何获取和设置日期和时间。此外,文中给出了多个实际应用案例,如生成随机数、日期格式化和倒计时功能。
摘要由CSDN通过智能技术生成

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;
// 获取绝对值
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);//

  • 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)之间的随机整数

    // 分析公式
    // 1. math.random() [0, 1) 0 <= x < 1
    // 2. Math.random() * (max - min + 1) 公式 注意先计算乘数
    // 3. 带入数据
    // 4. Math.random() * (20 - 10 + 1)
    // 5. Math.random() * (11)
    // 6. [0, 1) * 11 ==> [0, 11)
    // 7. [0, 11) + min ==> [0, 11) + 10 ==> [10, 21)
    // 8. Math.floor([10, 21)); ==> [10, 20](20.后面的所有小数取整都为20)
    // Math.floor(Math.random() * (max - min + 1) + min)
    function getRandom(min, max) {
    // Math.random()获取[0,1)
    // Math.random() * (max - min + 1)+min表示获取[10,21)
    // Math.floor([10,21))向下取整 [10,20]
    return Math.floor(Math.random() * (max - min + 1) + min);
    }
    console.log(getRandom(10, 20))
    • 案例2:

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

      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: 要求: 随机生成颜色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));

日期对象

  • 用途: 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 (中国标准时间)

1.1日期对象的常用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对象所代表时间的毫秒数

1,2 日期对象的常用set方法

方法作用
setFullYear(value)设置年份
setMonth(value)设置月份
setDate(value)设置月份中的某一天
setHours(value)设置小时数
setMinutes(value)设置分钟数
setSeconds(value)设置秒数
setMilliseconds(value)设置毫秒数
setTime(value)通过从1970-01-01 00:00:00计时的毫秒数来设置时间

案例1:

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

案例2:

统计代码执行时间

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

案例3:

倒计时

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值