直接置空
堆内存中的值其实没变。
var b = [1, 2, 3, 4];
var a = b;
a = [];
console.log(a);
console.log(b);
splice
splice表示起始位置,第二个参数表示删除的长度,第三个参数表示插入的元素
var arr = [1, 2, 3, 4];
console.log("原始数组是", arr);
// 1.索引 2.长度 3.插入
function fn(arr) {
return arr.splice(0, arr.length);
}
fn(arr);
console.log("清空之后的结果", arr);
值得注意的是,splice方法会修改原数组,它的返回值是删除的元素。
length设置为0
var a = [1, 2, 3, 4];
console.log(a);
a.length = 0;
console.log(a);