变量交换值原来这么微妙

变量交换值原来这么微妙

技术杂谈小彩虹2021-08-19 3:45:35270A+A-

1、最简单的方法就是创建临时变量

let = 11,b = 22 ,t;
t = a;
a = b;
b = t;

2、先建立两个变量的关系,变量求和

let a = 11,b = 22 ;
a = a + b;
b = a - b;
a = a - b;

3、变量求差(原理同上)

let a = 11,b = 22 ;
a = a - b;
b = a + b;
a = b - a;

4、先让其中一个变量变成对象,存储两个变量的值

let a = 11,b = 22 ;
a = {a:a,b:b};
b = a.a;
a = a.b;

5、同上,先让其中一个变量变成数组,存储两个变量的值

let a = 11,b = 22 ;
a = [a,b];
b = a[0];
a = a[1];

6、利用运算符优先级

let a = 11,b = 22 ;
a = [b,b=a][0];

7、利用ES6解构赋值

let a = 11,b = 22 ;
[a,b] = [b,a];

8、利用异或运算符^

let a = 11,b = 22 ;
a = a^b;
b = a^b;
a = a^b;

github项目地址

如果觉得还不错,请star一个吧。

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1
本网站由 提供CDN/云存储服务

联系我们