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

这里使用一个是数字变量,一个是字母变量的意图就是要告诉大家,任何数据类型使用这个万能法都可以转换,如果大家有疑问,可以自己在控制台上试试!!


还有什么方法欢迎大家补充





  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值