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

js異或運(yùn)算符^小技巧分享

 更新時(shí)間:2023年04月22日 09:13:25   作者:Garrettzxd  
這篇文章主要介紹了js異或運(yùn)算符^小技巧,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

js異或運(yùn)算符^小技巧

這個(gè)運(yùn)算符主要是在位運(yùn)算的時(shí)候使用,但是在普通的數(shù)也能使用,且有一個(gè)轉(zhuǎn)換過程,即將二進(jìn)制的數(shù)轉(zhuǎn)換為十進(jìn)制

var a = 1 ^ 2;
//3
//1 -> 01
//2 -> 10
//1 ^ 2 -> 11 -> 3

如上所示,在十進(jìn)制進(jìn)行異或運(yùn)算符操作時(shí)也是OK的,結(jié)果顯示也是十進(jìn)制的結(jié)果,示例中的轉(zhuǎn)換過程只是我假象的轉(zhuǎn)換過程,只是便于理解,假設(shè)由十進(jìn)制到二進(jìn)制進(jìn)行異或運(yùn)算,再將結(jié)果轉(zhuǎn)換為十進(jìn)制,實(shí)際上的運(yùn)算并不一定是如此

利用異或運(yùn)算可以找出數(shù)組中奇?zhèn)€數(shù)的項(xiàng)

var a = [2,3,2,4,4];
for(let i = 0; i < a.length; i++) {
? ? a[0] = a[0] ^ a[i];
}
//a[0]為3,即單獨(dú)存在的一項(xiàng)

這里涉及到離散數(shù)學(xué)的異或運(yùn)算性質(zhì)了

  • 1.交換律:a ^ b ^ c  <=> a ^ c ^ b
  • 2.任何數(shù)于0異或?yàn)槿魏螖?shù) 0 ^ n => n
  • 3.相同的數(shù)異或?yàn)?: n ^ n => 0

因此上面的例子2 ^ 3  ^ 2 ^ 4 ^ 4等價(jià)于  2 ^ 2  ^ 4 ^ 4 ^ 3  =>  0 ^ 0 ^3  => 3

js中的位運(yùn)算符(按位與、按位或、按位異或)使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script type="text/javascript">
        var a=1;
        var b=0;
 
        //按位與&:兩個(gè)操作數(shù)都是1,結(jié)果才是1
        alert(a&b) //結(jié)果是0
 
        //按位或:兩個(gè)操作數(shù)只要有一個(gè)是1,結(jié)果就是1
        alert(a|b)  //結(jié)果是1
 
        //按位異或:兩個(gè)數(shù)字一樣,結(jié)果為0;兩個(gè)數(shù)字不一樣,結(jié)果就是1。
        alert(a^b)  //結(jié)果是1
 
        //簡單的方法:數(shù)字求負(fù),在減1
        alert(~a)//結(jié)果是-2
 
    </script>
    <title>位運(yùn)算符</title>
</head>
<body>
 
</body>
</html>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • webstorm中配置Eslint的兩種方式及差異比較詳解

    webstorm中配置Eslint的兩種方式及差異比較詳解

    這篇文章主要介紹了webstorm中配置Eslint的兩種方式及差異比較詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • 基于javaScript的this指向總結(jié)

    基于javaScript的this指向總結(jié)

    下面小編就為大家?guī)硪黄趈avaScript的this指向總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • 如何基于viewport vm適配移動(dòng)端頁面

    如何基于viewport vm適配移動(dòng)端頁面

    這篇文章主要介紹了如何基于viewport vm適配移動(dòng)端頁面,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • layer彈窗在鍵盤按回車將反復(fù)刷新的實(shí)現(xiàn)方法

    layer彈窗在鍵盤按回車將反復(fù)刷新的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇layer彈窗在鍵盤按回車將反復(fù)刷新的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • Webpack4 使用Babel處理ES6語法的方法示例

    Webpack4 使用Babel處理ES6語法的方法示例

    這篇文章主要介紹了Webpack4 使用Babel處理ES6語法的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • 深入理解JavaScript中的for循環(huán)

    深入理解JavaScript中的for循環(huán)

    這篇文章主要給大家深入的介紹了JavaScript中的for循環(huán),其中包括ES5中的三種for循環(huán),分別是簡單for循環(huán)、for-in以及forEach,另外還詳細(xì)介紹了ES6新增的一種循環(huán):for-of ,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • 關(guān)于javascript的“靜態(tài)類"

    關(guān)于javascript的“靜態(tài)類"

    關(guān)于javascript的“靜態(tài)類"...
    2006-10-10
  • JS之小練習(xí)代碼

    JS之小練習(xí)代碼

    初學(xué)者不建議看,這些都是用類實(shí)現(xiàn)的代碼,高手推薦學(xué)習(xí)
    2008-10-10
  • JavaScript函數(shù)apply()和call()用法與異同分析

    JavaScript函數(shù)apply()和call()用法與異同分析

    這篇文章主要介紹了JavaScript函數(shù)apply()和call()用法與異同,結(jié)合實(shí)例形式分析了apply()和call()的功能、區(qū)別、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • jQuery javascript獲得網(wǎng)頁的高度與寬度的實(shí)現(xiàn)代碼

    jQuery javascript獲得網(wǎng)頁的高度與寬度的實(shí)現(xiàn)代碼

    下面小編就為大家?guī)硪黄猨Query javascript獲得網(wǎng)頁的高度與寬度的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考
    2016-04-04

最新評論

永丰县| 贺州市| 阿勒泰市| 华宁县| 墨竹工卡县| 蓬莱市| 万州区| 道孚县| 溆浦县| 常德市| 岑巩县| 九龙坡区| 双峰县| 曲沃县| 吴桥县| 周宁县| 江阴市| 将乐县| 六安市| 麦盖提县| 阳山县| 鲁山县| 醴陵市| 太和县| 大城县| 中山市| 台南县| 瑞昌市| 扎兰屯市| 响水县| 彩票| 赤水市| 增城市| 锡林浩特市| 巴楚县| 丰城市| 漾濞| 临江市| 靖西县| 色达县| 同心县|