在JavaScript中,有些方法會創建調用它的對象的副本,而其他方法則不會。爲什麼JavaScript中的某些方法會調用該對象的副本?
例如:
var numbers = [1, 2, 3, 4, 5];
numbers.map(function(x) { return x + 1 });
console.log(numbers); // [1, 2, 3, 4, 5];
它使你必須設置另一個變量「數字」的副本。
鑑於:
var numbers = [1, 2, 3, 4, 5];
numbers.reverse();
console.log(numbers); // [5, 4, 3, 2, 1];
它改變了 「數字」 直接。任何人都可以解釋爲什麼?
閱讀每種方法的文檔 – charlietfl
有些方法會創建一個新的數組,其他方法會更改數組。它主要是爲了方便而完成的,通常當你繪製一些東西時,你會得到一個新的數組等等。 – adeneo
我不知道爲什麼這個問題會吸引downvotes? –