小编use*_*334的帖子

为什么单行XOR交换在Javascript中不起作用但在C++中有效?

在javascript中,如果我写:

var a = 6;
var b = 4;
a ^= b ^= a ^= b;
console.log(a, b);
Run Code Online (Sandbox Code Playgroud)

结果将是0 6.
但如果我写:

var a = 6;
var b = 4;
a ^= b;
b ^= a; 
a ^= b;
console.log(a, b);
Run Code Online (Sandbox Code Playgroud)

结果将是4 6.这是正确的.

为什么在JavaScript中这种单行XOR交换方式不起作用?
为什么它在C++中运行良好?

javascript c++ swap xor

4
推荐指数
1
解决办法
259
查看次数

标签 统计

c++ ×1

javascript ×1

swap ×1

xor ×1