方法一:splice
输出 [],空数组
方法二:array.length=0
输出 [],空数组
方法三:array赋值为[]
对比
splice方法产生的结果性质同ary.length=0
ary.length=0保留了数组其他属性,但是如果数组有副本(bry=ary),则副本内容也被清空,即使之前对副本内容进行了修改增删,同样会被清空
ary=[]分配一个新的数组变量,不会对其他副本产生影响,但是原数组会留在内存中,如果没有引用则会等待垃圾回收,这样可能会导致内存泄露
代码说明
var foo = [1,3];
var bar = [1,3];
var foo2 = foo;
var bar2 = bar;
foo = [];
bar.length = 0;
console.log(foo,bar,foo2,bar2);
//[] [] [1,3] []