怎樣用JS模擬實(shí)現(xiàn)枚舉
前言
在當(dāng)前的JavaScript中,并沒有枚舉這個概念,在某些場景中使用枚舉更能保證數(shù)據(jù)的正確性,減少數(shù)據(jù)校驗(yàn)過程,下面就介紹一下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 = {}));
這個時(shí)候days對象基本實(shí)現(xiàn)了枚舉效果,可以通過枚舉值或索引去訪問days對象,但枚舉有個重要特別是不能被修改,這個時(shí)候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模擬實(shí)現(xiàn)枚舉的詳細(xì)內(nèi)容,更多關(guān)于JS的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JavaScript剩余操作符Rest Operator詳解
在本篇文章里小編給各位分享的是關(guān)于JavaScript剩余操作符Rest Operator知識點(diǎn)用法總結(jié),有需要的朋友們跟著學(xué)習(xí)下。2019-07-07Bootstrap中的Dropdown下拉菜單更改為懸停(hover)觸發(fā)
在使用bootstrap制作響應(yīng)式導(dǎo)航條時(shí),dropdown組件用的比較多,dropdown默認(rèn)鼠標(biāo)左鍵單擊才展開,如果使用鼠標(biāo)放上去(hover)就展開則會省去點(diǎn)擊時(shí)間,這樣能提高效率,下面小編給大家解答下實(shí)現(xiàn)思路2016-08-08詳解JavaScript中Proxy與Object.defineProperty的區(qū)別
Proxy和Object.defineProperty都是JavaScript中用于實(shí)現(xiàn)對象屬性攔截和代理的機(jī)制,但它們在功能和應(yīng)用方面有一些區(qū)別,本文通過代碼示例詳細(xì)介紹了二者的區(qū)別,感興趣的朋友可以參考下2023-06-06JavaScript阻止事件冒泡和默認(rèn)行為的方法舉例
JavaScript事件的默認(rèn)行為指瀏覽器自動執(zhí)行的操作,如鏈接跳轉(zhuǎn)或表單提交,阻止這些行為可以使用event.preventDefault()、return?false或event.returnValue屬性,event.stopPropagation()用于阻止事件傳播,不直接阻止默認(rèn)行為,需要的朋友可以參考下2024-10-10微信小程序頁面?zhèn)鞫鄠€參數(shù)跳轉(zhuǎn)頁面的實(shí)現(xiàn)方法
這篇文章主要介紹了微信小程序頁面?zhèn)鞫鄠€參數(shù)跳轉(zhuǎn)頁面的實(shí)現(xiàn)方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05