js中关于交换两变量值得四中方法的思考
来源:互联网 发布:js二维数组固定长度 编辑:程序博客网 时间:2024/06/03 13:23
需求:在javascript中,若变量a=15,变量b=21。如何将两个变量的值进行交换?
1.引入第三方变量进行接收。
var a = 15;
var b = 21;
var temp ;
temp = a;//用变量temp临时储存变量a的值
a = b;//将b的值赋值给a
b = temp ;//再将接收过a的temp赋值给b。
console.log(a,b)//21 15
2.巧用数组进行接收
var a = 15;
var b = 21;
a = [b,b=a][0]//在这个临时数组中将下标为0的元素,即b赋值给了a.同时将a的值赋值给b,
console.log(a,b)//21 15
3.进行位运算
var a = 15;
var b = 21;
a = a^b;
b = a^b;
a = a^b;
/*
*a 0000 1111
*b 0001 0101
* a=a^b 0001 1010
* b 0001 0101
* b=a^b 0000 1111
* a 0001 1010
* a=a^b 0001 0101
* 在js中,最后的输出值会自动转化成十进制
*/
console.log(a,b)//21 15
4.利用数学中的数轴思想
//在数轴中,正数还代表着数字到原点的距离
var a = 15;
var b = 21;
a = b - a;
b = b - a;
a = b + a;
console.log(a,b)//21 15
小结:因为在js中,低层环境是被封装起来的。所以编程人员无法直接对存储空间进行操作。所以在c语言的通过十六进制存储地址实现变量值得交换在js中无法实现
1.引入第三方变量进行接收。
var a = 15;
var b = 21;
var temp ;
temp = a;//用变量temp临时储存变量a的值
a = b;//将b的值赋值给a
b = temp ;//再将接收过a的temp赋值给b。
console.log(a,b)//21 15
2.巧用数组进行接收
var a = 15;
var b = 21;
a = [b,b=a][0]//在这个临时数组中将下标为0的元素,即b赋值给了a.同时将a的值赋值给b,
console.log(a,b)//21 15
3.进行位运算
var a = 15;
var b = 21;
a = a^b;
b = a^b;
a = a^b;
/*
*a 0000 1111
*b 0001 0101
* a=a^b 0001 1010
* b 0001 0101
* b=a^b 0000 1111
* a 0001 1010
* a=a^b 0001 0101
* 在js中,最后的输出值会自动转化成十进制
*/
console.log(a,b)//21 15
4.利用数学中的数轴思想
//在数轴中,正数还代表着数字到原点的距离
var a = 15;
var b = 21;
a = b - a;
b = b - a;
a = b + a;
console.log(a,b)//21 15
小结:因为在js中,低层环境是被封装起来的。所以编程人员无法直接对存储空间进行操作。所以在c语言的通过十六进制存储地址实现变量值得交换在js中无法实现
0 0
- js中关于交换两变量值得四中方法的思考
- C语言中 交换俩变量值得多种方法
- 交换值得几中方法
- 关于两数交换三种方法的思考
- 两种变量的交换的四种方法
- 【js】:js中对于两种控件不同的值得显示方法
- java中交换两个变量的方法
- 关于个人博客中友情链接交换的若干思考
- 变量交换的两种方法
- 两种方法交换变量的值
- 不引入第三变量交换两变量值的四种方法
- 关于java中交换两个变量的值
- 数据库中交换两条记录字段值的方法
- <实例>C++中交换两数值的几种方法
- iOS Category中添加属性和成员变量的区别 评论也值得思考
- C或C++中不用中间变量交换两变量的值
- 不用第三变量交换2个数的5中方法
- C语言中交换两个变量数值的方法
- 字符编码问题
- 简单的基本操作
- mysql数据库 DDL(数据库定义语言)
- Eddy的难题
- 简单聊聊HDFS的HA
- js中关于交换两变量值得四中方法的思考
- systemtap调试内核
- LeetCode-Easy部分中标签为Dynamic Programming 121. Best Time to Buy and Sell Stock
- 洛谷P1967codevs3287货车运输
- C++模板类的类型萃取技术
- WOJ 24. Divide by Six
- CopyOnWriteArrayList读写锁
- sqoop从mysql导入hdfs数据过程遇到的问题
- Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法