let change = function (a, b, arr) {
arr[b] = arr[a] ^ arr[b];
arr[a] = arr[a] ^ arr[b];
arr[b] = arr[a] ^ arr[b];
};
let arr = [1, 2, 3, 4, 5, 6, 7, 8];
for (let i = 0, j = arr.length - 1; i <= j;i++, j--){
change(i, j, arr)
}
console.log(arr);^ 逻辑运算符:异或,相同为0,不同为1
特性:a ^ a = 0
假设 a = 10010011,b = 01001100;
b = a ^ b; // 11011111
a = a ^ b; // 01001100
b = a ^ b; // 10010011