js如何不使用临时变量来进行两个变量值的交换?

假设存在以下代码

var foo = 1, bar = 2;

如何不用临时变量,进行两个值的交换。

以下是我常用的方法

var foo = 1; bar =2;
bar = [foo,foo=bar][0];
console.log(foo);
console.log(bar);

大家有没有更绝杀的方法呢?

阅读 11.9k
3 个回答

很经典的问题了,C里面怎么交换这里就怎么交换。前提是两个都是整数。

foo ^= bar;
bar ^= foo;
foo ^= bar;

这是何苦呢

今年可以[a, b] = [b, a]

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题