亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

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

枚舉主要特點(diǎn)

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

實(shí)現(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 = {}));

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

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)出可枚舉對(duì)象
export EnumWeek = Object.freeze(days)

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

相關(guān)文章

  • JavaScript剩余操作符Rest Operator詳解

    JavaScript剩余操作符Rest Operator詳解

    在本篇文章里小編給各位分享的是關(guān)于JavaScript剩余操作符Rest Operator知識(shí)點(diǎn)用法總結(jié),有需要的朋友們跟著學(xué)習(xí)下。
    2019-07-07
  • 詳解TypeScript的基礎(chǔ)類(lèi)型

    詳解TypeScript的基礎(chǔ)類(lèi)型

    這篇文章主要為大家介紹了TypeScript的基礎(chǔ)類(lèi)型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • 微信小程序加載機(jī)制及運(yùn)行機(jī)制圖解

    微信小程序加載機(jī)制及運(yùn)行機(jī)制圖解

    這篇文章主要介紹了微信小程序加載機(jī)制及運(yùn)行機(jī)制圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • js查錯(cuò)流程歸納

    js查錯(cuò)流程歸納

    歸納是為了更好的理解。平時(shí)同事有問(wèn)題找我?guī)兔鉀Q問(wèn)題,往往都是很小的問(wèn)題,這種情況他們并不是缺乏解決問(wèn)題的知識(shí),而是需要找到問(wèn)題的辦法
    2012-05-05
  • JS判斷是否長(zhǎng)按某一鍵的方法

    JS判斷是否長(zhǎng)按某一鍵的方法

    這篇文章主要介紹了JS判斷是否長(zhǎng)按某一鍵的方法,涉及JavaScript針對(duì)鍵盤(pán)按鍵的判斷及響應(yīng)操作技巧,需要的朋友可以參考下
    2016-03-03
  • Bootstrap中的Dropdown下拉菜單更改為懸停(hover)觸發(fā)

    Bootstrap中的Dropdown下拉菜單更改為懸停(hover)觸發(fā)

    在使用bootstrap制作響應(yīng)式導(dǎo)航條時(shí),dropdown組件用的比較多,dropdown默認(rèn)鼠標(biāo)左鍵單擊才展開(kāi),如果使用鼠標(biāo)放上去(hover)就展開(kāi)則會(huì)省去點(diǎn)擊時(shí)間,這樣能提高效率,下面小編給大家解答下實(shí)現(xiàn)思路
    2016-08-08
  • 詳解JavaScript中Proxy與Object.defineProperty的區(qū)別

    詳解JavaScript中Proxy與Object.defineProperty的區(qū)別

    Proxy和Object.defineProperty都是JavaScript中用于實(shí)現(xiàn)對(duì)象屬性攔截和代理的機(jī)制,但它們?cè)诠δ芎蛻?yīng)用方面有一些區(qū)別,本文通過(guò)代碼示例詳細(xì)介紹了二者的區(qū)別,感興趣的朋友可以參考下
    2023-06-06
  • JavaScript阻止事件冒泡和默認(rèn)行為的方法舉例

    JavaScript阻止事件冒泡和默認(rèn)行為的方法舉例

    JavaScript事件的默認(rèn)行為指瀏覽器自動(dòng)執(zhí)行的操作,如鏈接跳轉(zhuǎn)或表單提交,阻止這些行為可以使用event.preventDefault()、return?false或event.returnValue屬性,event.stopPropagation()用于阻止事件傳播,不直接阻止默認(rèn)行為,需要的朋友可以參考下
    2024-10-10
  • 微信小程序頁(yè)面?zhèn)鞫鄠€(gè)參數(shù)跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)方法

    微信小程序頁(yè)面?zhèn)鞫鄠€(gè)參數(shù)跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)方法

    這篇文章主要介紹了微信小程序頁(yè)面?zhèn)鞫鄠€(gè)參數(shù)跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • Web制作驗(yàn)證碼功能實(shí)例代碼

    Web制作驗(yàn)證碼功能實(shí)例代碼

    web開(kāi)發(fā)中,經(jīng)常會(huì)使用驗(yàn)證碼功能,例如登錄、注冊(cè),或其他關(guān)鍵功能之前經(jīng)常會(huì)使用。下面通過(guò)實(shí)例代碼給大家介紹Web制作驗(yàn)證碼功能實(shí)例代碼,感興趣的朋友一起看看吧
    2017-06-06

最新評(píng)論