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]