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

        使用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號
        主站蜘蛛池模板: 青青青国产精品一区二区| 人人妻人人澡人人爽人人精品 | 热RE99久久精品国产66热| 国产成人亚洲合集青青草原精品| 亚洲精品一级无码鲁丝片| 国产精品自在在线午夜福利| 久久91精品久久91综合| 精品国产一区二区三区色欲 | 久久99国产综合精品免费| 欧美成人精品第一区二区| 亚洲国语精品自产拍在线观看| 国内少妇偷人精品视频免费| 亚洲国产精品一区二区三区久久 | 精品日韩在线视频一区二区三区| 欧美精品亚洲精品日韩专区va| 精品免费人成视频app| 日韩福利视频精品专区| 精品国产午夜福利在线观看| 2021国产成人精品久久| 国产精品一久久香蕉国产线看| avtt天堂网久久精品| 久久精品国产亚洲AV高清热| 亚洲AV无码久久精品狠狠爱浪潮| 中文字幕精品视频在线| 亚洲第一区精品日韩在线播放| 久久国产热这里只有精品| 国产在线精品一区二区三区不卡 | 国产精品毛片久久久久久久| 岛国精品一区免费视频在线观看| 精品一区二区三区波多野结衣| 日韩精品无码中文字幕一区二区 | 99热精品久久只有精品| 99精品人妻少妇一区二区| 97精品人妻一区二区三区香蕉| 日本一区精品久久久久影院| 欧美精品福利视频| 四虎影视884a精品国产四虎| 56prom精品视频在放免费| 国产激情精品一区二区三区 | 国产夫妇精品自在线| 国产精品素人搭讪在线播放|