在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++中运行良好?