JavaScript之数学对象与日期对象

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、数学对象是什么?为什么要使用数学对象?

1.是什么?

Math对象是JavaScript中的内置对象之一,它提供了一些数学相关的方法和常量。通过Math对象,可以进行常见的数学运算,如取整、四舍五入、求平方根、求绝对值等。Math对象不是一个构造函数,因此不能创建Math对象的实例,而是直接通过Math对象来调用其方法和属性

2.为什么?

  1. 提供了一些常用的数学运算方法,如取整、四舍五入、求平方根等,可以方便地进行数值计算
  2. 提供了一些常用的数学常量,如π(Math.PI)、自然对数的底数e(Math.E)等,可以方便地使用这些常量进行数学计算。
  3. Math对象的方法是静态方法,可以直接通过Math对象调用,无需创建实例,使用方便。
  4. Math对象的方法都是原生的,不需要依赖其他库或框架,可以在任何支持JavaScript的环境中使用
  5. Math对象的方法执行效率高,因为它们是由JavaScript引擎底层实现的,通常比使用自定义函数实现的相同功能更快。

二、常用的数学对象

1.常用属性

属性描述
Math.E自然对数的底数
Math.PI圆周率
Math.LN22 的自然对数
Math.SQRT22 的平方根

2.常用方法

属性描述
Math.abs(x)返回一个数的绝对值。
Math.pow(x, y)返回一个数的 y 次幂
Math.random()返回一个 0 到 1 之间的伪随机数
Math.sqrt(x)返回一个数的平方根
Math.round()返回四舍五入后的整数
Math.exp(x)返回欧拉常数的参数次方
Math.floor()返回向下取整的整数
Math.ceil()返回向上取整的整数

三、日期对象Date

在 JavaScript 中,日期对象是 Date,用于处理日期和时间。

构造函数: 构造函数也是函数, 可以通过new关键字实例化对象的函数, 能new对象的函数: Object Array Number String Boolean Function RegExp Date …
静态属性: 由构造器直接调用的属性
静态方法:由构造器直接调用的方法, Date.now() Array.isArray() String.formCharCode()

1、日期对象 (Date)

var a = new Date();
console.log(a); // 当前时间
console.log(typeof a); // 日期对象 object

日期对象才可以使用日期对象的api

 var b = Date(); 
    console.log(b); // 当前时间的字符串
    console.log(typeof b); // 字符串string

字符串没有日期对象的api

常用的方法

方法描述
getDate()返回一个月的某一天
getDay()返回一周中的某一天
getFullYear()返回年份
getHours()返回小时
getMonth()返回月份
getTime()返回毫秒数
setFullYear()设置年份
setDate()设置一个月中的某一天
setMonth()设置月份

例子1:

 var date = new Date(); // 实例化 Date 对象
      var month = date.getMonth() + 1; // 获取月份,取值为 0(一月)到 11(十二月)之间的整数
      document.write(
        "今天是" +
          date.getFullYear() +
          "年" +
          month +
          "月" +
          date.getDate() +
          "日" +
          "<br>"
      );

例子2:

// 设置目标日期
    var targetDate = new Date('november 1,2024').getTime();
    // 更新倒计时的函数
    function updateCountdown() {
      // 获取当前日期和时间
      var now = new Date().getTime();
      // 计算时间差
      var distance = targetDate - now;
      // 计算天、小时、分钟和秒
      var days = Math.floor(distance / (1000 * 60 * 60 * 24));
      var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
      var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
      var seconds = Math.floor((distance % (1000 * 60)) / 1000);
      // 将倒计时显示到页面上
      document.body.innerHTML = "<h3>距离诞辰还有: " + 
      days + "天 " + 
      hours + "小时 " + 
      minutes + "分钟 " + 
      seconds + "秒</h3>";
      // 每秒更新倒计时
      setTimeout(updateCountdown, 1000);
    }
    // 当页面加载完成后启动倒计时
    window.onload = updateCountdown;

四、日期对象传参

(1) 不传参数, 拿到当前时间

 var a = new Date();  // Fri Sep 27 2024 15:36:24 GMT+0800 (中国标准时间)

(2) 传递一个数字参数,

作为毫秒数, 返回 1970/1/1 00:00:00 + 毫秒数的时间

 var b = new Date(0); // 1970/1/1 08:00:00 (东八区)
     b = new Date(1000);  // 1970/1/1 08:00:01 (东八区)
     b = new Date(24 * 60 * 60 * 1000); // 1970/1/2 08:00:01 (东八区)

(3) 传递一个日期字符串, 直接指定日期

 		var c = new Date("2018"); // 2018/1/1
        var c = new Date("2018-09"); // 2018/9/1
        var c = new Date("2018-09-10"); // 2018/9/10
        var c = new Date("2018-09-10 18:00:00"); // 2018/09/10 18:00:00
 不同的日期字符串格式:
        var c = new Date("2018/9/10 18:00:00");
        var c = new Date("2018-9-10 18:00:00");
        var c = new Date("2018*9*9 18:00:00");

(4) 传递多个数字参数

月份是从0开始的, 0是1月, 11是12月,所以如果想得到准月份的话 +1

// new Date(年, 月 [, 日[, 时[, 分[, 秒[, 毫秒]]]]),  
var d = new Date(2024, 1); // 2024/2/1 00:00:00
var d = new Date(2024, 8, 27, 15, 58, 0);  // 2024/9/27 15:58:00
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值