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

JS通過位運(yùn)算實(shí)現(xiàn)權(quán)限加解密

 更新時(shí)間:2018年08月14日 11:53:03   投稿:mrr  
這篇文章主要介紹了JS通過位運(yùn)算實(shí)現(xiàn)權(quán)限加解密的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

首先介紹一下js中的位運(yùn)算:

1. "&" :與運(yùn)算,轉(zhuǎn)化為二進(jìn)制數(shù),如果相同位數(shù)都為1則得結(jié)果為1,否則為0;

2. "|" :或運(yùn)算,轉(zhuǎn)化為二進(jìn)制數(shù),如果相同位數(shù)只要有一個(gè)為1則得結(jié)果為1,否則為0;

3. "^" :異或運(yùn)算,轉(zhuǎn)化為二進(jìn)制數(shù),如果相同位數(shù)不同則得結(jié)果為1,否則為0;

4."<<" 異位運(yùn)算符,1<<1,表示將1左移一位,也就是010,在二進(jìn)制中代表2;

順便說一下,十進(jìn)制數(shù)字互相轉(zhuǎn)化。

十進(jìn)制轉(zhuǎn)為別的進(jìn)制:

var num = 123;
console.log(num.toString(2))
console.log(num.toString(8))//參數(shù)傳想要轉(zhuǎn)化的位數(shù)

別的進(jìn)制轉(zhuǎn)化為十進(jìn)制:

var num = 110;
console.log(parseInt(num,2))//二進(jìn)制轉(zhuǎn)化為十進(jìn)制

假設(shè)我們現(xiàn)在有5項(xiàng)權(quán)限,在二進(jìn)制中用1代表擁有權(quán)限,0代表不擁有。所以11111這樣代表擁有所有的五項(xiàng)權(quán)限,那么我們?nèi)绾沃烙脩羰欠裼心骋豁?xiàng)具體權(quán)限呢。

比如,我們現(xiàn)在想檢測用戶是否有第一項(xiàng)權(quán)限,我們首先用過異位 1 << 0,向左移0位,還是1,然后1 & (Math.pow(2,5) -1),

如果返回0,說明個(gè)位對(duì)不上,也就是說我們當(dāng)前沒有權(quán)限,如果返回1,說明我們擁有第一項(xiàng)權(quán)限,同理,如果需要檢驗(yàn)第二位權(quán)限,只需要異位2就好了。

if((1 << 0) & (Math.pow(2,5) - 1) !== 0){
  //擁有第一項(xiàng)權(quán)限權(quán)限
}
if((1 << 1) & (Math.pow(2,5) - 1) !== 0){
  //擁有第一項(xiàng)權(quán)限權(quán)限
}

總結(jié)

以上所述是小編給大家介紹的JS通過位運(yùn)算實(shí)現(xiàn)權(quán)限加解密,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解webpack與SPA實(shí)踐之開發(fā)環(huán)境搭建

    詳解webpack與SPA實(shí)踐之開發(fā)環(huán)境搭建

    這篇文章主要介紹了詳解webpack與SPA實(shí)踐之開發(fā)環(huán)境搭建,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • JS批量替換內(nèi)容中關(guān)鍵詞為超鏈接

    JS批量替換內(nèi)容中關(guān)鍵詞為超鏈接

    本文主要介紹了JS批量替換內(nèi)容中關(guān)鍵詞為超鏈接,避開已存在的鏈接和alt、title中的關(guān)鍵詞的方法。下面跟著小編一起來看下吧
    2017-02-02
  • DD_belatedPNG,IE6下PNG透明解決方案(國外)

    DD_belatedPNG,IE6下PNG透明解決方案(國外)

    今天介紹DD_belatedPNG,只需要一個(gè)理由,就是它支持backgrond-position與background-repeat.這是其他js插件不具備的.
    2010-12-12
  • JavaScript中的事件監(jiān)聽詳細(xì)介紹

    JavaScript中的事件監(jiān)聽詳細(xì)介紹

    這篇文章主要給大家介紹了關(guān)于JavaScript中事件監(jiān)聽的相關(guān)資料,在前端開發(fā)過程中我們經(jīng)常會(huì)遇到給頁面元素添加事件的問題,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • 利用element-ui實(shí)現(xiàn)遠(yuǎn)程搜索兩種實(shí)現(xiàn)方式

    利用element-ui實(shí)現(xiàn)遠(yuǎn)程搜索兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了利用element-ui的兩種遠(yuǎn)程搜索實(shí)現(xiàn)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-12-12
  • Javascript動(dòng)畫插件lottie-web的使用方法

    Javascript動(dòng)畫插件lottie-web的使用方法

    這篇文章主要介紹了Javascript動(dòng)畫插件lottie-web的使用方法,包括配合vue-cli使用及在HTML頁面中使用代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • JavaScript+Canvas實(shí)現(xiàn)簡單的柱狀圖

    JavaScript+Canvas實(shí)現(xiàn)簡單的柱狀圖

    這篇文章主要為大家詳細(xì)介紹了JavaScript如何利用Canvas實(shí)現(xiàn)繪制簡單的柱狀圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • cocos2dx骨骼動(dòng)畫Armature源碼剖析(二)

    cocos2dx骨骼動(dòng)畫Armature源碼剖析(二)

    本篇主要給大家介紹cocos2dx骨骼動(dòng)畫Armature源碼剖析之flash中數(shù)據(jù)與xml中數(shù)據(jù)關(guān)系,需要的朋友一起來學(xué)習(xí)吧
    2015-09-09
  • IScroll那些事_當(dāng)內(nèi)容不足時(shí)下拉刷新的解決方法

    IScroll那些事_當(dāng)內(nèi)容不足時(shí)下拉刷新的解決方法

    下面小編就為大家?guī)硪黄狪Scroll那些事_當(dāng)內(nèi)容不足時(shí)下拉刷新的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • JavaScript實(shí)現(xiàn)簡單計(jì)算器

    JavaScript實(shí)現(xiàn)簡單計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評(píng)論

吕梁市| 景宁| 肃宁县| 突泉县| 宜黄县| 台中市| 乌兰察布市| 巧家县| 平乐县| 丹寨县| 房山区| 方正县| 三门县| 沧州市| 青浦区| 余姚市| 克什克腾旗| 玉林市| 墨玉县| 青河县| 横山县| 洛浦县| 东兴市| 陵川县| 万全县| 苍溪县| 湖南省| 山东省| 韶关市| 东兴市| 东港市| 洛南县| 墨脱县| 湖南省| 长阳| 海口市| 建宁县| 永吉县| 庄浪县| 枝江市| 贵南县|