js引用類型的賦值

在開發中,有時候需要將數組或者對象的值賦予其他另一個變量,但是兩個變量之間會相互影響,因爲在將引用類型的值賦給其他變量時,賦予的其實是內存中的存儲地址

  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]
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章