JavaScript交换两个变量的值

  <script>
    console.log("======第一种======");
    // 1、借助第三方变量
    {
      let a = 'Hello';
      let b = 'Hi';

      let temp;
      temp = a;
      a = b;
      b = temp;
      console.log("a=" + a);
      console.log("b=" + b);
    }
    console.log("======第二种======");
    // 2、通过计算方式:先加后减(只能做简单的数值类型的交换)
    {
      let a = 123;
      let b = 456;

      a = a + b;
      b = a - b;
      a = a - b;

      console.log("a=" + a);
      console.log("b=" + b);
    }
    console.log("======第三种======")
    // 3、通过计算方式:先减后加(只能做简单的数值类型的交换)
    {
      let a = 123;
      let b = 456;

      a = a - b;
      b = a + b;
      a = b - a;

      console.log("a=" + a);
      console.log("b=" + b);
    }
    console.log("======第四种======")
    // 4、ES6中变量的解构赋值
    {
      let a = 'Hello';
      let b = 'Hi';

      [a, b] = [b, a];

      console.log("a=" + a);
      console.log("b=" + b);
    }
    console.log("======第五种======")
    // 5、数组方法
    {
      let a = '文明';
      let b = '富强';

      let c=[a,b];
      b=c[0];
      a=c[1];

      console.log("a=" + a);
      console.log("b=" + b);
    }
    console.log("======第六种======")
    // 6、对象方法
    {
      let a = '文明';
      let b = '富强';

      let c={x:a,y:b};
      b=c.x;
      a=c.y;

      console.log("a=" + a);
      console.log("b=" + b);
    }
    console.log("======第七种======")
    // 7、位运算(只能做简单的数值类型的交换)
    {
      let a = 123;
      let b = 456;

      a ^= b;
      b ^= a;
      a ^= b;

      console.log("a=" + a);
      console.log("b=" + b);
    }
  </script>

猜你喜欢

转载自blog.csdn.net/sleepwalker_1992/article/details/82803057