当前位置: 首页 > 科技观察

交换变量值的七种方式,看看你知道多少

时间:2023-03-21 01:21:27 科技观察

1。使用临时变量交换两个值这是每个前端开发工程师都应该知道的方法,我们在学生时代可能学过这个技术。leta=1letb=2//使用一个临时变量来存储bfirstlettemp=bb=aa=temptemp=nullconsole.log('a',a,'b',b)这种方法的优点是非常简单易懂。缺点是需要多声明一个变量,这意味着程序需要占用更多的计算机内存。2.在ES6中使用解构赋值相信大家对ES6已经很熟悉了,它有一个很棒的特性叫做解构。使用解构函数,我们可以很方便的交换两个变量的值。leta=1letb=2;[a,b]=[b,a]console.log('a',a,'b',b)我个人非常喜欢这种方式,我们不需要使用Any使这项工作的附加代码。3.使用XOR(^)如果你对它很感兴趣,可以点击这里(链接)进行深入研究。不过不用担心,相信看完这张表的内容你就知道是怎么回事了:哪怕我们只需要知道这两个知识点就够了:("0"^任意值)等于这个值。100^100等于00^100//100100^100//0我想你一定猜到要做什么了!让a=1让b=2a=a^b//1.=>a^b^b//2.=>a^0//3.=>b=a=1b=a^b//1.a^b=>a^b^a//2.a^b^a=>0^b//3.a=b=>2a=a^bconsole.log('a',a,'b',b)4.用加法将两个变量的值交换为什么?你在开玩笑吗不,你可以使用加法交换两个变量的值。leta=1letb=2a=a+b//a的值为a(1)+b(2)=3b=a-b//b的值为a(3)-b(2)=1a=a-b//a的值为a(3)-b(1)=2console.log('a',a,'b',b)5.用减法交换两个的值变量既然我们可以用加法交换两个变量的值,为什么不试试减法呢?leta=1letb=2a=a-b//a的值为a(1)-b(2)=-1b=b+a//b的值为b(2)+a(-1)=1a=b-a//a的值为b(1)-a(-1)=2console.log('a',a,'b',b)那么加法和加法有什么区别减法毛呢?朋友们,你们一定知道JavaScript中有一个最大安全数,那么,如果我们用加法,会不会超过这个数呢?是的,这个问题可以通过使用减法来避免。6.使用一个对象交换两个变量的值我们可以使用一个对象作为交换两个变量的桥梁,并让它链接所有的变量。leta=1letb=2a={a:a,b:b}b=a.aa=a.bconsole.log('a',a,'b',b)你能用数组做这个吗?leta=1letb=2a=[a,b]b=a[0]a=a[1]console.log('a',a,'b',b)7.使用“,”逗号运算符1).数组与“,”的组合:leta=1letb=2a=[b,(b=a)][0]//代码大致经过以下几步//1.b=a=>b=1//2.a=[2,1]//2.a=[2,1][0]=>2console.log('a',a,'b',b)2).object与"组合,":leta=1letb=2a=b+((b=a),0)//代码大致经过以下步骤//1.a=2+((b=1),0)=>b=1//2.a=2+0=>a=2console.log('a',a,'b',b)