2 回答

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊
[current.next, prev, current] = [prev, current, current.next]; 是一個(gè)數(shù)組解構(gòu)語(yǔ)法,它可以在不顯式保持tempvariable的情況下工作,因?yàn)橐帽4嬖跀?shù)組中
你可以把上面的代碼想象成
const arr = [];
arr[0] = prev;
arr[1] = current;
arr[2] = current.next;
current.next = arr[0];
prev = arr[1];
current = arr[2]
其中原始元素的引用保存在數(shù)組中而不是單個(gè)變量中

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
使用解構(gòu)賦值來(lái)交換變量不需要臨時(shí)變量。
var a = 1;
var b = 3;
[a, b] = [b, a];
console.log(a); // 3
console.log(b); // 1
請(qǐng)參閱在MDN上使用Destructuring交換variablesSection
請(qǐng)參閱briosheje關(guān)于語(yǔ)言規(guī)范詳細(xì)信息的答案中鏈接的ECMAScript文檔。
添加回答
舉報(bào)