<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript中Date對象的getDay方法使用指南_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:30:37
        文檔

        javascript中Date對象的getDay方法使用指南_javascript技巧

        javascript中Date對象的getDay方法使用指南_javascript技巧:Date對象有個getDay方法,它根據本地時間,返回一個具體日期中一周的第幾天。返回值從0~6,分別對應周日~周六 getDay 0 1 2 3 4 5 6 星期幾 周日 周一 周二 周三 周四 周五 周六 用到日期相關的需求時需要將getDay返回的值轉成星期幾,即這一天是星期
        推薦度:
        導讀javascript中Date對象的getDay方法使用指南_javascript技巧:Date對象有個getDay方法,它根據本地時間,返回一個具體日期中一周的第幾天。返回值從0~6,分別對應周日~周六 getDay 0 1 2 3 4 5 6 星期幾 周日 周一 周二 周三 周四 周五 周六 用到日期相關的需求時需要將getDay返回的值轉成星期幾,即這一天是星期
        Date對象有個getDay方法,它根據本地時間,返回一個具體日期中一周的第幾天。返回值從0~6,分別對應周日~周六

        getDay 0 1 2 3 4 5 6
        星期幾 周日 周一 周二 周三 周四 周五 周六

        用到日期相關的需求時需要將getDay返回的值轉成星期幾,即“這一天”是星期幾?比如日歷組件中選擇日歷后返回 “2014-12-22 周一”。

        這是一段依然在線上運行的代碼

        代碼如下:
        /*
        * 根據Date對象返回星期幾
        * @param {Date} date
        * @return {String} "星期三"
        */
        function getChineseWeekByDate(date) {
        var numWeekDay = date.getDay();
        if (numWeekDay == 0) {
        return '周日';
        } else if (numWeekDay == 1) {
        return '周一';
        } else if (numWeekDay == 2) {
        return '周二';
        } else if (numWeekDay == 3) {
        return '周三';
        } else if (numWeekDay == 4) {
        return '周四';
        } else if (numWeekDay == 5) {
        return '周五';
        } else if (numWeekDay == 6) {
        return '周六';
        } else {
        return '';
        }
        }

        這段代碼通過多個if else分支判斷,返回星期幾,有同學提到可以利用switch優化下

        代碼如下:
        /*
        * 根據Date對象返回星期幾
        * @param {Date} date
        * @return {String} "星期三"
        */
        function getChineseWeekByDate(date) {
        var numWeekDay = date.getDay();
        switch (numWeekDay) {
        case 0: return '周日';
        case 1: return '周一';
        case 2: return '周二';
        case 3: return '周三';
        case 4: return '周四';
        case 5: return '周五';
        case 6: return '周六';
        default: return '';
        }
        }

        相比if/else,代碼簡且短清晰了不少。有人做過統計代碼越簡短,大腦思考的時間越短。因此你會看到各種《短碼之美》,《代碼簡潔之道》等各種倡導和贊美“短碼”的人和書。

        《代碼大全》提到利用表驅動法來簡化編程

        表驅動法 — 表驅動法是一種編程模式(scheme),從表里查找信息而不使用邏輯語句(if和switch)。事實上,凡是能通過邏輯語句來選擇的,都可以通過查表來選擇。對簡單的情況而言,使用邏輯語句更為容易和直白。但隨著邏輯鏈越來越復雜,查表法也就越發顯得有吸引力。

        上面提到利用表替代邏輯語句,JS里有不少前端工程師自從了解了函數式語言的一些特性,就拼命的用表達式消滅語句。比如

        1. && 替代 單if

        代碼如下:
        if (a == 1) {
        $.ajax(xx)
        }
        // -->
        (a == 1) && $.ajax(xx)

        2. ?: 替代 if/else

        代碼如下:
        if (a == 1) {
        $.ajax(xx)
        } else {
        $(yy).remove()
        }
        // -->
        (a == 1) ? $.ajax(xx) : $(yy).remove()

        3. 多個if/else和switch 也可以用多個“?:”替換

        代碼如下:
        if (a == 1) {
        alert(1)
        } else if (a == 2) {
        alert(2)
        } else if (a == 3) {
        alert(3)
        } else {
        alert(4)
        }
        // -->
        (a == 1)
        ? alert(1) : (a == 2)
        ? alert(2) : (a == 3)
        ? alert(3) : alert(4)

        另外,還可以用函數遞歸去消滅for/while語句。開始對這些寫法比較上癮,后來發現自己看不懂了(可能還是看的少,大腦總是自然的又將這些轉換成語句),最后還是習慣用語句。

        《代碼大全》里說的表,我們用一個JS對象來替換試下

        代碼如下:
        /*
        * 根據Date對象返回星期幾
        * @param {Date} date
        * @return {String} "星期三"
        */
        function getChineseWeekByDate(date) {
        var numWeekDay = date.getDay();
        var weekObj = {
        '0': '周日',
        '1': '周一',
        '2': '周二',
        '3': '周三',
        '4': '周四',
        '5': '周五',
        '6': '周六',
        };
        return weekObj[numWeekDay] || '';
        }

        相比switch,又減了不少代碼,但還有0~6字樣的key存在。getDay方法返回的從0開始恰好和JS數組索引一樣也是從0開始。因此用數組可以再簡化下

        代碼如下:
        /*
        * 根據Date對象返回星期幾
        * @param {Date} date
        * @return {String} "星期三"
        */
        function getChineseWeekByDate(date) {
        var numWeekDay = date.getDay();
        var weekArr = ['周日', '周一','周二','周三','周四','周五','周六'];
        return weekArr[numWeekDay] || '';
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript中Date對象的getDay方法使用指南_javascript技巧

        javascript中Date對象的getDay方法使用指南_javascript技巧:Date對象有個getDay方法,它根據本地時間,返回一個具體日期中一周的第幾天。返回值從0~6,分別對應周日~周六 getDay 0 1 2 3 4 5 6 星期幾 周日 周一 周二 周三 周四 周五 周六 用到日期相關的需求時需要將getDay返回的值轉成星期幾,即這一天是星期
        推薦度:
        標簽: 方法 js javascript
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 成人超污免费网站在线看| 日韩在线播放全免费| 四虎永久成人免费影院域名| 亚洲国产最大av| 无人在线观看完整免费版视频| 亚洲日本香蕉视频| 999国内精品永久免费视频| 亚洲中文字幕久久精品无码2021| 亚洲免费福利在线视频| 亚洲日本久久久午夜精品| 成全视频免费高清| 处破女第一次亚洲18分钟| 午夜亚洲国产成人不卡在线| 人碰人碰人成人免费视频| 在线观看国产区亚洲一区成人| a在线观看免费网址大全| 亚洲国产精品va在线播放| 日本免费一区二区三区四区五六区| 亚洲国产精品久久久久久| 亚洲天堂免费在线| 亚洲AV日韩AV永久无码色欲 | 亚洲一级免费视频| 亚洲综合伊人制服丝袜美腿| 在线不卡免费视频| jizz在线免费观看| 久久久久亚洲Av无码专| 成人毛片免费播放| 一级毛片aaaaaa视频免费看| 亚洲国产精品国自产电影| 久久综合AV免费观看| 一级毛片一级毛片免费毛片| 亚洲AV无码欧洲AV无码网站| 免费观看无遮挡www的视频 | 中文字幕在线免费观看视频| 久久精品国产亚洲AV大全| 最近高清国语中文在线观看免费| 色欲aⅴ亚洲情无码AV| 国产成A人亚洲精V品无码| 免费电影在线观看网站| 久久99久久成人免费播放| 亚洲日本在线观看网址|