亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript交換兩個變量值的七種解決方案

2019-11-19 18:44:48
字體:
來源:轉載
供稿:網友

前言

這篇文章總結了七種辦法來交換a和b的變量值

var a = 123;var b = 456;

交換變量值方案一

最最最簡單的辦法就是使用一個臨時變量了,不過使用臨時變量的方法實在是太low了

var t;t = a;a = b;b = t;

首先把a的值存儲到臨時變量中,然后b賦值給a,最后拿出臨時變量中的a值賦給b,這個辦法是最基本的了

交換變量值方案二

下面的方案都不會有臨時變量,我總結了一下,其實不使用臨時變量的思路都是讓其中一個變量變成一個a和b都有關系的值,這樣可以先改變另一個變量值, 最后改變原修改的變量值

比如這個

a += b;b = a - b;a -= b;

讓a先變成a與b的‘和'(也可以換成a和b的差,一樣的) ,‘和'減去b巧妙的得到了a的變量值賦予b ,再通過‘和'減去a的值得到了b的值賦予a,或者是下面的變式(差的形式)

a -= b;b = a + b;a = b - a;

但是感覺和的形式更容易理解

交換變量值方案三

這種方法對于第一次學習JavaScript的同學來說可能不了解,因為我們JavaScript很少會用到位操作,這是我在以前看算法競賽書的時候學來的,通過底層位運算來進行交換變量值,也是上面的方案演化來的

a ^= b;b ^= a;a ^= b;

了解一下吧,C++甚至可以a^=b^=a^=b來完成任務,但我發現JavaScript不可以

不過我們可以這樣

a = (b^=a^=b)^a;

交換變量值方案四

把a先變成了一個對象,這個對象保存著應該交換后的鍵值對,最后賦值搞定

a = {a:b,b:a};b = a.b;a = a.a;

交換變量值方案五

和上面的方法很像,只不過對象換成了數組

a = [a,b];b = a[0];a = a[1];

交換變量值方案六

這個辦法十分的巧妙,不是我想出來的,想出來的人一定是大神,除非他是托夢想出來的,簡單粗暴一行代碼交換了a和b的變量值

a = [b,b=a][0];

根據運算符優先級,首先執行b=a,此時的b直接得到了a的變量值,然后一步數組索引讓a得到了b的值(簡直不能再厲害)

交換變量值方案七

最后我的方案是利用了ES6的解構賦值語法,它允許我們提取數組和對象的值,對變量進行賦值,不過我現在測試用的chrome瀏覽器已經實現了

[a,b] = [b,a];

可以看到解構賦值語法讓我們的交換變量值變得超級簡單,這個解構賦值語法要是講的話要講很多不是今天的重點,以后會在再總結現在就不講了

總結

本文提到了這么多交換變量值的方法,不知道還有沒有其他辦法,雖然它是一個無關緊要的問題,不過可以練一練我們的腦洞。希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚州欧美日韩中文视频| 国产一区二区日韩精品欧美精品| 国产精品久久久| 久久久久久伊人| 日韩国产在线看| 亚洲三级 欧美三级| 国产午夜精品视频免费不卡69堂| 国产欧美va欧美va香蕉在线| 亚洲美女在线视频| 精品国产视频在线| 国产精品视频yy9099| 久久久久久久久久久亚洲| 国产91精品久久久久久久| 黄色精品在线看| 久久人人爽人人| 这里只有精品在线观看| 欧美日韩亚洲精品一区二区三区| 亚洲欧美成人精品| 91色琪琪电影亚洲精品久久| 在线观看欧美视频| 91国内揄拍国内精品对白| 尤物yw午夜国产精品视频| 久久久久久久国产精品视频| 亚洲自拍小视频| 国产精品一区二区三区久久| 中文字幕综合一区| 日韩av电影在线免费播放| 国产一区二区美女视频| 国产99视频在线观看| 国产91色在线| 国产91精品最新在线播放| 亚洲第一区中文99精品| 久久综合久久美利坚合众国| 日本亚洲精品在线观看| 亚洲天堂av综合网| 尤物九九久久国产精品的分类| 成人精品一区二区三区电影黑人| 欧美性猛交xxxx免费看久久久| 久久精品视频导航| 欧美在线视频一区| 国产亚洲人成网站在线观看| 91精品国产综合久久香蕉922| 色综合久久中文字幕综合网小说| 疯狂蹂躏欧美一区二区精品| 久久成人这里只有精品| 国产午夜精品美女视频明星a级| 97精品视频在线播放| 国产亚洲精品久久久久动| 中文字幕亚洲自拍| 国产精品日日摸夜夜添夜夜av| 久久久久久久久久亚洲| 久久久精品一区| 亚洲视频一区二区| 4438全国亚洲精品在线观看视频| 亚洲精品中文字幕女同| 欧美电影免费观看高清| 日韩欧美中文第一页| 国产91精品久久久久久| 国产成一区二区| 欧美一区二区视频97| 精品久久久久久国产91| 国产精品三级网站| 亚洲剧情一区二区| 日韩精品视频免费专区在线播放| 日韩在线观看免费av| 欧美在线免费视频| 亚洲电影中文字幕| 欧美激情视频网址| 亚洲奶大毛多的老太婆| 国产一区二区丝袜高跟鞋图片| 国产精品一二区| 欧美国产日韩一区二区三区| 国产精品啪视频| 亚洲自拍偷拍第一页| 欧洲一区二区视频| 欧美日韩亚洲系列| 欧美亚洲国产精品| 午夜精品久久17c| 亚洲激情小视频| 97**国产露脸精品国产| 在线国产精品播放| 欧美日韩精品在线观看| 欧美亚洲激情视频| 91黑丝高跟在线| 欧美一级黄色网| 久久久久国产精品一区| 亚洲欧美国产视频| 久久99久久亚洲国产| 波霸ol色综合久久| 国产区精品在线观看| 欧美日韩福利在线观看| 色噜噜亚洲精品中文字幕| 欧美老女人bb| 日韩av在线不卡| 91精品国产91久久久久久吃药| 久久久久久69| 九九热这里只有精品6| 欧美极品在线视频| 精品视频在线导航| 亚洲欧美中文字幕在线一区| 久久久噜噜噜久久久| 精品女厕一区二区三区| 国产91色在线免费| 国产小视频国产精品| 亚洲欧美日韩在线高清直播| 国产日韩欧美日韩| 午夜精品蜜臀一区二区三区免费| 91高清免费在线观看| 91精品国产自产在线老师啪| 国产精品尤物福利片在线观看| 97精品伊人久久久大香线蕉| 久久久久亚洲精品| 亚洲人成网站999久久久综合| 亚洲a在线播放| 欧美激情视频在线免费观看 欧美视频免费一| 欧美成年人视频| 国产精品视频区| 亚洲精品一区二区网址| 综合136福利视频在线| 国产日韩欧美黄色| 中文字幕一区二区三区电影| 日韩在线视频一区| 日韩中文字幕国产精品| 在线亚洲国产精品网| 一本一本久久a久久精品综合小说| 中文字幕无线精品亚洲乱码一区| 欧美亚洲视频在线观看| 韩国v欧美v日本v亚洲| 在线观看91久久久久久| 日韩精品免费在线视频| 国产欧美精品久久久| 欧美日韩免费一区| 亚洲国产精品电影在线观看| 国产精品久久不能| 日韩精品视频观看| 精品亚洲国产成av人片传媒| 97成人超碰免| 亚洲伦理中文字幕| 久久影视电视剧凤归四时歌| 久久青草精品视频免费观看| 日韩av免费在线观看| 91精品久久久久久| 亚洲精品xxxx| 日韩在线视频观看| 日韩在线欧美在线| 欧美重口另类videos人妖| 国产成人精品综合久久久| 在线观看亚洲区| 伊人伊成久久人综合网小说| 98视频在线噜噜噜国产| 国产精品视频午夜| 97久久久久久| 日韩欧美aⅴ综合网站发布| 欧洲永久精品大片ww免费漫画| 中文字幕欧美精品日韩中文字幕| 国产精品视频永久免费播放| 国产综合久久久久久| 亚洲视频一区二区三区| 日韩欧美在线视频日韩欧美在线视频| 久久精品成人动漫| 日本国产欧美一区二区三区| 欧美成人精品在线| 欧美日韩亚洲高清| 日韩最新中文字幕电影免费看|