亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 13:38:58
字體:
來源:轉載
供稿:網友

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] ||  '';
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
岛国av一区二区| 日韩最新av在线| 国产精品福利无圣光在线一区| 欧美又大又粗又长| 国产精品永久免费| 日韩av在线网页| 亚洲欧美色婷婷| 欧美电影在线观看高清| 日韩欧美中文字幕在线观看| 91精品国产高清自在线看超| 欧美激情精品久久久久久蜜臀| 国内精品久久久久久| 日韩一中文字幕| 亚洲一区二区久久久久久久| 懂色av中文一区二区三区天美| 91成人福利在线| 欧美日韩另类字幕中文| 欧美极品美女视频网站在线观看免费| 一区国产精品视频| 91在线观看免费高清| 久久手机精品视频| 国产精品久久视频| 国产一区二区精品丝袜| 日本精品一区二区三区在线| 欧美黑人狂野猛交老妇| 国产精品h在线观看| 欧美日韩国产二区| 日韩国产欧美精品一区二区三区| 亚洲精品白浆高清久久久久久| 超碰精品一区二区三区乱码| 国产一区深夜福利| 91成人在线视频| 日韩福利视频在线观看| 亚洲的天堂在线中文字幕| 精品伊人久久97| 日本一区二区在线播放| 国产成人精品视| 久久夜色精品国产亚洲aⅴ| 久久久久久美女| 国产欧美日韩中文字幕在线| 欧美插天视频在线播放| 国内偷自视频区视频综合| 国产精品第二页| 欧美成人免费小视频| 久久久欧美一区二区| 久久精品91久久久久久再现| 欧美日韩中文字幕日韩欧美| 欧美成人一区二区三区电影| 日韩av电影免费观看高清| 亚洲国产精品资源| 亚洲欧美一区二区三区久久| 亚洲精品第一国产综合精品| 国产欧美日韩专区发布| 亚洲精品影视在线观看| 精品国产拍在线观看| 欧美天堂在线观看| 亚洲欧美福利视频| 国产成人小视频在线观看| 久久99精品久久久久久琪琪| 国产亚洲一区二区在线| 欧美成人自拍视频| 亚洲精品免费一区二区三区| 欧美亚洲日本黄色| 一区二区亚洲精品国产| 久久免费视频观看| 国产午夜一区二区| 在线激情影院一区| 亚洲美女av电影| 曰本色欧美视频在线| 久久精品国产v日韩v亚洲| 2019中文字幕在线| 成人精品在线视频| 亚洲国产高清福利视频| 国产成人一区三区| 欧美xxxwww| 一区二区在线视频播放| 国产在线拍揄自揄视频不卡99| 国产美女扒开尿口久久久| 中文日韩在线视频| 日韩在线视频免费观看| 久久久人成影片一区二区三区| 91久久久久久久久久| 国产精品久久久久久久久久免费| 欧美午夜片在线免费观看| 欧美性生活大片免费观看网址| 久久伊人色综合| 国产成人+综合亚洲+天堂| 日韩中文字在线| 欧美香蕉大胸在线视频观看| 亚洲精品久久久久久久久久久久| 97香蕉超级碰碰久久免费的优势| 亚洲人成欧美中文字幕| 国模精品一区二区三区色天香| 综合久久五月天| 亚洲精品电影在线观看| 热re99久久精品国产66热| 亚洲天堂av图片| 97视频人免费观看| 亚洲男人天堂手机在线| 国产精品视频在线观看| 欧美一级在线播放| 日韩av手机在线观看| 国产香蕉一区二区三区在线视频| 精品久久久久久久大神国产| 精品福利樱桃av导航| 精品综合久久久久久97| 日韩精品久久久久久福利| 欧美高清视频一区二区| 中文字幕在线视频日韩| 国产男女猛烈无遮挡91| 亚洲国产欧美一区二区丝袜黑人| 午夜精品视频网站| 日韩av免费在线| 91久久在线播放| 亚洲精品456在线播放狼人| 国产精品国产三级国产aⅴ9色| 一区三区二区视频| 亚洲精品99久久久久中文字幕| 亚洲在线www| 最近中文字幕mv在线一区二区三区四区| 韩日欧美一区二区| 亚洲欧美精品一区二区| 国产精品精品视频一区二区三区| 6080yy精品一区二区三区| 亚洲成色777777女色窝| 91超碰caoporn97人人| 97超视频免费观看| 欧美中文字幕视频在线观看| 欧美激情综合色综合啪啪五月| 狠狠色狠狠色综合日日五| 色婷婷综合成人av| 国产成人亚洲综合青青| 亚洲精品永久免费精品| 欧美精品在线极品| 国产成人精品国内自产拍免费看| 亚洲精品国产免费| 亚洲精品电影网| 亚洲香蕉成人av网站在线观看| 亚洲影院高清在线| 亚洲缚视频在线观看| 91久久久久久久| 91久久久久久久久久久久久| 欧美性videos高清精品| 最近2019年好看中文字幕视频| 欧美电影在线免费观看网站| 8x海外华人永久免费日韩内陆视频| 欧美高清视频在线观看| 国产精品com| 欧美高清激情视频| 正在播放国产一区| 26uuu亚洲国产精品| 国产午夜精品一区二区三区| 久热精品视频在线免费观看| 成人在线激情视频| 97在线视频观看| 久久精品国产亚洲7777| 98视频在线噜噜噜国产| 久久色免费在线视频| 久久99热精品| 成人免费视频在线观看超级碰| 45www国产精品网站| 亚洲精品美女久久| 国产99久久精品一区二区永久免费| 亚洲欧美精品伊人久久|