站長資訊網
        最全最豐富的資訊網站

        使用es6怎么實現兩個變量的轉換

        4種實現:1、采用二進制異或的方法來交換數值,語法“a = a ^ b;b = a ^ b; a = a ^ b;”或“a=(b^=a^=b)^a;”;2、利用數組下標來交換,語法“a=[a, b];b=a[0];a=a[1]; ”;3、數組特殊置換法,語法“a = [b, b = a][0]; ”;4、對數組元素進行提取和賦值,語法“[a, b] = [b, a];”。

        使用es6怎么實現兩個變量的轉換

        前端(vue)入門到精通課程:進入學習
        Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用

        本教程操作環境:windows10系統、ECMAScript 6版、Dell G3電腦。

        es6實現兩個變量轉換的4種方法

        方法一:異或置換法

        方案分析:這里采用二進制異或的方法交換數值。異或的特點:同數為0,異數為1;將用戶輸入的值分別轉換成二進制,在進行異或,JS里面的異或符號是用shift+6,通過兩次異或還是本身這個原理,即可實現兩個數的交換。

        注意:其變換形式:a = (b^=a^=b)^a;【一行代碼搞定兩數置換

        <!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head>  <body>     <script>         // 方法一:異或置換法(同數為0,異數為1)         var a = prompt('請輸入a的值');         var b = prompt('請輸入b的值');         a = a ^ b;         b = a ^ b;         a = a ^ b;         //a = (b ^= a ^= b) ^ a; //與上面三行實現同理只是變成一行代碼         document.write('交換后a的值是' + a + '<br>', '交換后b的值是' + b);     </script> </body>  </html>
        登錄后復制

        運行結果:

        使用es6怎么實現兩個變量的轉換

        使用es6怎么實現兩個變量的轉換

        使用es6怎么實現兩個變量的轉換

        方法二:數組特殊置換法【進階】

        方案分析:這里使用的是特定數組的方法,將兩個數直接轉換,首先假設a=6,b=9則有a=[9,b=a][0]>>>a=[9,b=6][0]>>>a=[9,6][0]>>>b=6>>>a[0]=9>>>a=9。

        <!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head>  <body>     <script>         // 方法二:數組置換法         var a = prompt('請輸入a的值');         var b = prompt('請輸入b的值');         a = [b, b = a][0];          document.write('交換后a的值是' + a + '<br>', '交換后b的值是' + b);     </script> </body>  </html>
        登錄后復制

        方法三:數組普通置換法

        方案分析:這里使用的是普通數組置換的方法,首先將把a,b的值存放在a[a,b]這個數組中,其次先將a[0]值賦給b,再將a[1]的值賦給a,不這樣會導致a與b的值相等。

        <!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head>  <body>     <script>         // 方法三:數組普通置換法         var a = prompt('請輸入a的值');         var b = prompt('請輸入b的值');         a = [a, b]; //接收用戶輸入的值         document.write('交換前a,b的值是' + a + '<br>');         b = a[0]; //將第一值賦給b必須寫在a的前面         a = a[1]; //將第二值賦給a         document.write(a);         document.write(b);     </script> </body>  </html>
        登錄后復制

        方法四:ES6賦值法

        方案分析:這里使用的是ES6置換的方法,由于ES6允許我們對數組和對象提取,所以可以進行變量賦值,來實現兩數直接交換。

        <!DOCTYPE html> <html lang="en">  <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head>  <body>     <script>         // 方法四:ES6賦值法         var a = prompt('請輸入a的值');         var b = prompt('請輸入b的值');         [a, b] = [b, a];         document.write('交換后a的值是' + a + '<br>', '交換后b的值是' + b);     </script> </body>  </html>
        登錄后復制

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 污污网站国产精品白丝袜| 1区1区3区4区产品芒果精品| 91麻豆精品国产自产在线观看一区| 一区二区三区精品高清视频免费在线播放 | 9久热这里只有精品| 久久精品国产秦先生| 欧美激情精品久久久久| 人妻少妇偷人精品无码| 欧美精品欧美人与动人物牲交| 国产情侣大量精品视频| 人人妻人人澡人人爽精品欧美| 亚洲国产精品第一区二区三区| 亚洲精品动漫免费二区| 成人一区二区三区精品| 久久这里只精品国产99热| 国产成人久久精品一区二区三区 | 无码精品人妻一区| 国产精品永久免费视频| 98香蕉草草视频在线精品看| 精品国产自在在线在线观看 | 久久精品成人国产午夜| 大伊香蕉精品一区视频在线| 中文字幕亚洲综合精品一区| 91探花福利精品国产自产在线| 久久久久久国产精品免费无码| 欧美精品手机在线播放| 国产成人精品无码播放| 精品人妻va出轨中文字幕| 久久成人影院精品777| 国产网红无码精品视频| 日韩国产成人精品视频| 亚洲国产精品无码专区影院 | 免费精品精品国产欧美在线欧美高清免费一级在线 | 精品国产自在在线在线观看| 国产精品久久成人影院| 久久夜色精品国产www| 精品无人码麻豆乱码1区2区| 人妻少妇精品中文字幕av蜜桃| 亚洲国产另类久久久精品| 精品少妇人妻av无码久久| 国产精品内射后入合集|