JavaScript 日期與計時器

Date

  1. Date 是一個構造函數,其原型上定義了一些日期方法javascript

  2. Date()java

    執行 Date(),返回表示日期的字符串markdown

  3. new Date()函數

    沒有參數,返回當前日期實例對象ui

    var date = new Date();
    console.log(Object.prototype.toString.call(date)); // [Object Date]
    date.getFullYear() // 返回年份,如 2020
    dae.getMonth() // 返回月份減一,加一獲得月份
    date.getDate() // 返回幾號,1 到 31
    date.getDay() // 返回周幾,0 到 7,週日開始
    date.getHours() // 返回小時
    date.getMinutes() // 返回分鐘
    date.getSeconds() // 返回秒數
    date.getMilliseconds() // 返回毫秒數
    // 有 get 一樣有 set 方法
    複製代碼

    有參數,返回對應的日期spa

    var date = new Date(2020, 1, 1, 8, 30, 10);
    var date = new Date('2020/1/1 8:30:10');
    var date = new Date('2020/01/01 08:30:10');
    var date = new Date('2020-1-1 8:30:10');
    // Sat Feb 01 2020 8:30:10 GMT+0800 (中國標準時間)
    複製代碼
  4. getTime()prototype

    返回時間戳,即毫秒數code

    計算機紀元時間 1970 年 1 月 1 日 0 點 0 分 0 秒orm

    時間戳:某個時間距離計算機紀元時間的通過的毫秒數對象

    var dateTime = new Date().getTime(); // 返回當前時間的時間戳
    var date = new Date(dateTime); // 返回時間戳對應時間
    date.setTime(dateTime); // 以時間戳爲標準設置時間
    複製代碼

計時器

  1. setInterval

    每隔特定的毫秒數執行一次內部函數,從當前開始計時

    返回一個數字,是計時器的惟一標識,表明在全部計時器和延時器中的序號

    是 window 下的方法

    setInterval(function(){
        
    }, 1000) // 匿名函數
    funtion Test() {
        
    }
    setInterval(test, 1000);
    setInterval('test()', 1000); // 字符串形式傳入方法
    複製代碼
  2. clearInterval

    清除計時器

    var timer = setInterval(function(){}, 1000); // timer 是惟一標識,表明在全部計時器中的序號
    clearInterval(timer);
    複製代碼

延時器

  1. setTimout

    延遲指定時間執行一次內部函數

    返回一個數字,是延時器的惟一標識,表明在全部計時器中和延時器的序號

    setTimeout(function(){
        
    }, 1000) // 匿名函數
    funtion Test() {
        
    }
    setTimeout(test, 1000);
    複製代碼
  2. clearTimeout

    清除延時器

    var timer = setTimeout(function(){}, 1000); // timer 是惟一標識,表明在全部計時器中的序號
    clearTimeout(timer);
    複製代碼

定時任務

  1. 功能

    等待條件知足時執行任務,設定時間內條件未知足則執行回調函數

  2. 參數

    • re: 判斷條件函數,return 要執行 fn 的條件
    • fn: 等待執行的目標函數
    • space: setInterVal 的間隔時間,space || 100
    • wait: setTimeOut 的等待時間,wait || 3000
    • back: fn 未成功執行時回調函數
  3. 代碼

    function timer(re, fn, space, wait, back) {
        if (re()) {
            fn();
        } else {
            var interval = setInterval(function() {
                if (re()) {
                    fn();
                    clearInterval(interval);
                    interval = null;
                }
            }, space || 100);
            setTimeout(function() {
                if (interval) {
                    clearInterval(interval);
                    interval = null;
                    back && back();
                }
            }, wait || 3000);
        }
    }
    複製代碼
相關文章
相關標籤/搜索