最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

怎樣用JS模擬實現(xiàn)枚舉

 更新時間:2021年04月28日 10:54:57   作者:淺笑·  
這篇文章主要介紹了怎樣用JS模擬實現(xiàn)枚舉,對枚舉感興趣的同學(xué),可以實驗一下

前言

在當(dāng)前的JavaScript中,并沒有枚舉這個概念,在某些場景中使用枚舉更能保證數(shù)據(jù)的正確性,減少數(shù)據(jù)校驗過程,下面就介紹一下JavaScript如何模擬實現(xiàn)枚舉效果。

枚舉主要特點

  • 枚舉值不能重復(fù)
  • 不能被修改

實現(xiàn)

let days;
(function (days) {
    days[days["Sunday"] = 0] = "Sunday";
    days[days["Monday"] = 1] = "Monday";
    days[days["Tuesday"] = 2] = "Tuesday";
    days[days["Wednesday"] = 3] = "Wednesday";
    days[days["Thursday"] = 4] = "Thursday";
    days[days["Friday"] = 5] = "Friday";
    days[days["Saturday"] = 6] = "Saturday";
})(days || (days = {}));

這個時候days對象基本實現(xiàn)了枚舉效果,可以通過枚舉值或索引去訪問days對象,但枚舉有個重要特別是不能被修改,這個時候days是可以隨意修改的;可以通過Object.freeze函數(shù)讓對象不改修改,重新導(dǎo)出一個不可以修改的對象,完整代碼如下:

let days;
(function (days) {
    days[days["Monday"] = 1] = "Monday";
    days[days["Tuesday"] = 2] = "Tuesday";
    days[days["Wednesday"] = 3] = "Wednesday";
    days[days["Thursday"] = 4] = "Thursday";
    days[days["Friday"] = 5] = "Friday";
    days[days["Saturday"] = 6] = "Saturday";
    days[days["Sunday"] = 0] = "Sunday";
})(days || (days = {}));

//導(dǎo)出可枚舉對象
export EnumWeek = Object.freeze(days)

以上就是怎樣用JS模擬實現(xiàn)枚舉的詳細(xì)內(nèi)容,更多關(guān)于JS的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 全面解析JavaScript里的循環(huán)方法之forEach,for-in,for-of

    全面解析JavaScript里的循環(huán)方法之forEach,for-in,for-of

    這篇文章主要介紹了全面解析JavaScript里的循環(huán)方法之forEach,for-in,for-of的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • js數(shù)據(jù)類型以及其判斷方法實例

    js數(shù)據(jù)類型以及其判斷方法實例

    這篇文章主要給大家介紹了關(guān)于js數(shù)據(jù)類型以及其判斷方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • javascript面向?qū)ο蟪绦蛟O(shè)計實踐常用知識點總結(jié)

    javascript面向?qū)ο蟪绦蛟O(shè)計實踐常用知識點總結(jié)

    這篇文章主要介紹了javascript面向?qū)ο蟪绦蛟O(shè)計實踐常用知識點,結(jié)合實例形式總結(jié)分析了javascript面向?qū)ο蟪绦蛟O(shè)計中原型引用類型、屬性、方法相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2019-07-07
  • JS拉起或下載app的實現(xiàn)代碼

    JS拉起或下載app的實現(xiàn)代碼

    最近做項目遇到這樣的需求,通過手機網(wǎng)頁判斷是否安裝了自己公司app,如果安裝了則拉起app,沒有安裝則跳轉(zhuǎn)到下載頁。怎么實現(xiàn)呢?下面小編給大家分享js拉起或下載app的實現(xiàn)代碼,需要的朋友參考下
    2017-02-02
  • JS實現(xiàn)的自定義右鍵菜單實例二則

    JS實現(xiàn)的自定義右鍵菜單實例二則

    這篇文章主要介紹了JS實現(xiàn)的自定義右鍵菜單,以兩則實例形式分析了javascript自定義右鍵菜單效果的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • 最好用的Bootstrap fileinput.js文件上傳組件

    最好用的Bootstrap fileinput.js文件上傳組件

    這篇文章主要為大家詳細(xì)介紹了最好用的Bootstrap fileinput.js文件上傳組件的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 常用js字符串判斷方法整理

    常用js字符串判斷方法整理

    js常用方法及字符串的常用判斷方法都是在工作中經(jīng)常用到的,在本文整理了一些,感興趣的朋友可以參考下
    2013-10-10
  • 淺談JSON.stringify()和JOSN.parse()方法的不同

    淺談JSON.stringify()和JOSN.parse()方法的不同

    parse 用于從一個字符串中解析出json 對象而stringify用于從一個對象解析出字符串,這篇文章主要介紹了JSON.stringify()和JOSN.parse()方法的不同,需要的朋友可以參考下
    2016-08-08
  • javascript hasFocus使用實例

    javascript hasFocus使用實例

    hasFocus是document的特有方法.用來判斷當(dāng)前網(wǎng)頁是否獲得焦點.
    2010-06-06
  • JS實現(xiàn)深度優(yōu)先搜索求解兩點間最短路徑

    JS實現(xiàn)深度優(yōu)先搜索求解兩點間最短路徑

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)深度優(yōu)先搜索求解兩點間最短路徑,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評論

东乌珠穆沁旗| 哈尔滨市| 麻栗坡县| 门头沟区| 虹口区| 贵溪市| 甘肃省| 枣庄市| 青河县| 广丰县| 南郑县| 城口县| 大渡口区| 阿巴嘎旗| 临夏市| 黄骅市| 枣庄市| 神木县| 崇州市| 白沙| 朝阳县| 盈江县| 百色市| 广东省| 郸城县| 汪清县| 通化市| 高阳县| 潼关县| 靖宇县| 定襄县| 沙田区| 吐鲁番市| 涿鹿县| 磴口县| 山丹县| 穆棱市| 汶川县| 宿松县| 潮安县| 班玛县|