在開發中,有時候需要將數組或者對象的值賦予其他另一個變量,但是兩個變量之間會相互影響,因爲在將引用類型的值賦給其他變量時,賦予的其實是內存中的存儲地址
var arr = [1,2,3,4,5] var arr1 = arr // 賦值時傳遞的是存儲空間的地址 console.log(arr === arr1) // true arr1.push(6) // 當arr1改變時.arr也會改變 console.log(arr) // [1,2,3,4,5,6] // 當我們需要單獨兩個互不影響的變量時 var template = JSON.stringify(arr) arr1 = JSON.parse(template) console.log(arr === arr1) // false 這時就會給arr1開闢一個新的存儲空間和arr區分開,
arr1.push(7)
console.log(arr) // [1,2,3,4,5,6]