function exchange1 (arr, i, j) {
[arr[i], arr[j]] = [arr[j], arr[i]]
return arr
}
function exchange2 (arr) {
const i = 1
const j = 3
[arr[i], arr[j]] = [arr[j], arr[i]]
return arr
}
var arr1 = [0,1,2,3,4,5,6]
var arr2 = [0,1,2,3,4,5,6]
console.log(exchange1(arr1, 1, 3))
console.log(exchange2(arr2))
exchange1执行没问题,exchange2报错说i,j未定义
觉得是暂存死区的问题,难道是[arr[i], arr[j]] = [arr[j], arr[i]]
在变量赋值之前就执行??
搞不懂