国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript常用工具函數

Chiclaim / 1966人閱讀

摘要:深拷貝函數判斷子元素是否為對象,如果是,遞歸復制如果不是,簡單復制時間戳轉為格式化時間時間戳轉為格式化時間時間戳時間格式格式包括年月日年月日時分年月日時分秒示例年月日年月日小于補

1.深拷貝函數

function deepClone(obj) {
  let objClone = Array.isArray(obj) ? [] : {};
  if (obj && typeof obj === "object") {
    for (let key in obj) {
      if (obj.hasOwnProperty(key)) {
        //判斷ojb子元素是否為對象,如果是,遞歸復制
        if (obj[key] && typeof obj[key] === "object") {
          objClone[key] = deepClone(obj[key]);
        } else {
          //如果不是,簡單復制
          objClone[key] = obj[key];
        }
      }
    }
  }
  return objClone;
}

2.時間戳轉為格式化時間

/**
 * 時間戳轉為格式化時間
 * @Author   chenjun
 * @DateTime 2017-11-10
 * @param    {[date]}   timestamp [時間戳]
 * @param    {[string]}   formats   [時間格式]
 */
function formatDate(timestamp, formats) {
    /*
    formats格式包括
    1. Y-M-D
    2. Y-M-D h:m:s
    3. Y年M月D日
    4. Y年M月D日 h時m分
    5. Y年M月D日 h時m分s秒
    示例:console.log(formatDate(1500305226034, "Y年M月D日 h:m:s")) ==> 2017年07月17日 23:27:06
     */
    formats = formats || "Y-M-D";

    var myDate = timestamp ? new Date(timestamp) : new Date();

    var year = myDate.getFullYear();
    var month = formatDigit(myDate.getMonth() + 1);
    var day = formatDigit(myDate.getDate());

    var hour = formatDigit(myDate.getHours());
    var minute = formatDigit(myDate.getMinutes());
    var second = formatDigit(myDate.getSeconds());

    return formats.replace(/Y|M|D|h|m|s/g, function(matches) {
        return ({
            Y: year,
            M: month,
            D: day,
            h: hour,
            m: minute,
            s: second
        })[matches];
    });
    // 小于10補0
    function formatDigit(n) {
        return n.toString().replace(/^(d)$/, "0$1");
    };
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108536.html

相關文章

  • JavaScript 是如何工作的:解析、抽象語法樹(AST)+ 提升編譯速度5個技巧

    摘要:無論你使用的是解釋型語言還是編譯型語言,都有一個共同的部分將源代碼作為純文本解析為抽象語法樹的數據結構。和抽象語法樹相對的是具體語法樹,通常稱作分析樹。這是引入字節碼緩存的原因。 這是專門探索 JavaScript 及其所構建的組件的系列文章的第 14 篇。 想閱讀更多優質文章請猛戳GitHub博客,一年百來篇優質文章等著你! 如果你錯過了前面的章節,可以在這里找到它們: JavaS...

    raoyi 評論0 收藏0
  • JavaScript 工作原理之十四-解析,語法抽象樹及最小化解析時間的 5 條小技巧

    摘要:事實是只是部分語言的不同表示法。基于這些,解析器會進行立即或者懶解析。然而,解析器做了完全不相關的額外無用功即解析函數。這里不解析函數,該函數聲明了卻沒有指出其用途。所以之前的例子,解析器實際上 原文請查閱這里,本文采用知識共享署名 4.0 國際許可協議共享,BY Troland。 本系列持續更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第十四章。 概...

    ZweiZhao 評論0 收藏0
  • JavaScript 工作原理之十四-解析,語法抽象樹及最小化解析時間的 5 條小技巧

    摘要:事實是只是部分語言的不同表示法。基于這些,解析器會進行立即或者懶解析。然而,解析器做了完全不相關的額外無用功即解析函數。這里不解析函數,該函數聲明了卻沒有指出其用途。所以之前的例子,解析器實際上 原文請查閱這里,本文采用知識共享署名 4.0 國際許可協議共享,BY Troland。 本系列持續更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第十四章。 概...

    xuxueli 評論0 收藏0
  • JavaScript 工作原理之十四-解析,語法抽象樹及最小化解析時間的 5 條小技巧

    摘要:事實是只是部分語言的不同表示法。基于這些,解析器會進行立即或者懶解析。然而,解析器做了完全不相關的額外無用功即解析函數。這里不解析函數,該函數聲明了卻沒有指出其用途。所以之前的例子,解析器實際上 原文請查閱這里,本文采用知識共享署名 4.0 國際許可協議共享,BY Troland。 本系列持續更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第十四章。 概...

    jsliang 評論0 收藏0
  • 前端每周清單半年盤點之 JavaScript

    摘要:前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點分為新聞熱點開發教程工程實踐深度閱讀開源項目巔峰人生等欄目。背后的故事本文是對于年之間世界發生的大事件的詳細介紹,闡述了從提出到角力到流產的前世今生。 前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點;分為新聞熱點、開發教程、工程實踐、深度閱讀、開源項目、巔峰人生等欄目。歡迎...

    Vixb 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<