JavaScript交換兩個變量值的四種方法

交換變量值指的是兩個變量之間的值相互交換,具體的方法可總結出四種


一、使用第三個變量(最簡單,但不推薦)

var a=3;

var b=5;

var t=a;

b=a;

b=t;

console.log(a); //5

console.log(b); //3



二、使用位運算異或(只能進行數字的交換)


公式: a^=b  b^=a  a^=b   

異或:只有其中一個是1,另一個是0,最終纔是1,否則爲0


var a=3;

var b=5;


3的二進制:011

5的二進制:101


a^=b:

 011

 101

-------

 110        a變成了110,b還是101


b^=a:

101

110

-----

011          a還是110,b變成了011


a^=b:

110

011

-----

101        a變成了101,b還是011


最終結果是a是101(5),b是011(3)



三、做加減(只針對數字)


公式:  a+=b  b=a-b  a-=b


var a=3;

var b=5;


a+=b:

a=3+5=8    a變成8,b還是5


b=a-b:

b=8-5=3    a還是8,b變成3


a-=b:

a=8-3=5     a變成5, b還是3


最終a是5,b是3




四、萬能法(任何數據類型都可以轉換,推薦使用)


公式:a=[b,b=a][0] 


var a=3;

var b=aa;


第一步:

a=[aa,b=a][0]   將b=aa套入


第二步:

a=[aa,3][0]   將b=a=3套入,注意不改變前面b=aa的值


第三步:

[0]指的是將數組[aa,3]第一個元素的值傳給a

aa=[aa,3][0]



最終結果a爲aa,b爲3

這裏使用一個是數字變量,一個是字母變量的意圖就是要告訴大家,任何數據類型使用這個萬能法都可以轉換,如果大家有疑問,可以自己在控制檯上試試!!


還有什麼方法歡迎大家補充





發佈了47 篇原創文章 · 獲贊 107 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章