JS 不声明第三个变量的情况下实现两数变换

Posted jwyblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 不声明第三个变量的情况下实现两数变换相关的知识,希望对你有一定的参考价值。

1.

1     var a = 1;
2     var b = 2;
3     a = a + b; //3
4     b = a - b; //1
5     a = a - b; //2
6     console.log(a);
7     //2
8     console.log(b);
9     //1

2.

    var a = 1;
    var b = 2;
    a ^= b;
    b ^= a;
    a ^= b;
    console.log(a);
    //2
    console.log(b);
    //1

console.log((a ^= b) === (a ^ b) + b)
//true

3.

 1     var a = 1;
 2     var b = 2;
 3     a = [a, b];
 4     b = a[0];
 5     a = a[1];
 6 
 7     console.log(a);
 8     //2
 9     console.log(b);
10     //1

4.

1     var a = 1;
2     var b = 2;
3     a = [b, b = a][0];
4     console.log(a);
5     //2
6     console.log(b);
7     //1

5.

    var a = 1;
    var b = 2;
    a = { a: b, b: a };
    b = a.b;
    a = a.a
    console.log(a);
    //2
    console.log(b);
    //1

6.

1     var a = 1;
2     var b = 2;
3     [a, b] = [b, a]
4     console.log(a);
5     //2
6     console.log(b);
7     //1

 

以上是关于JS 不声明第三个变量的情况下实现两数变换的主要内容,如果未能解决你的问题,请参考以下文章

如何在不介入第三个变量的情况下实现两个数的交换

JavaScript笔试题(js高级代码片段)

如何重新定义 glm 矩阵变量或删除其变换?

OpenGL学习——绘制三角形

在不使用第三个变量或表的情况下交换表中两列的值

交换两个变量的值,不借助第三个变量的 三种方法(JS实现)