在javascript中,将两个变量的值进行交换

  • Post author:
  • Post category:java


需求:在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中无法实现



版权声明:本文为fancyandcat原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。