js中清空方法一般有3种,分别是:
- splice方法
var arr1 = [1,2,3,4]
var arr2 = arr1
arr1.splice(0)
console.log(arr1) //[]
console.log(arr2) //[]
由于数组是引用类型,当存放在堆中的数据改变之后所有相关联的数组值都会被改变
- 给数组的length赋值为0
var arr1 = [1, 2, 3, 4]
var arr2 = arr1
arr1.length = 0
console.log(arr1) //[]
console.log(arr2) //[]
这个同上
- 直接赋予新数组 []
var arr1= [1, 2, 3, 4]
var arr2 = arr3
arr1 = []
console.log(arr1) //[]
console.log(arr2) //[1,2,3,4]
这个是由于把数组arr1重新在堆中开辟了一块内存空间并且赋值为空数组,所以这时候arr1和arr2就已经没有联系了。