arr.length=0和arr=[]不一样的,前者是保留原来的引用,后者是新建了内存空间的,如果在这之前执行arr2=arr;那两者的区别可大了。
如果数组保存了10w个数字,或者10w个json对象。那执行arr.length=0,就会释放很多内存了。
然后将数组null就会将堆中的数组通过垃圾回收机制回收的。
arr.length=0和arr=null虽然目的都是释放内存,但是如果你之前有把arr的引用赋值给arr2变量,那执行arr=null,不能释放内存的,因为arr2保留了其引用,而用arr.length=0,就会释放内存。
js清除数组
最新推荐文章于 2024-02-29 11:18:29 发布