如果我有一个由1000个元素组成的数组,并且将数组长度设置为10,那么其他元素将去哪里呢?这会导致记忆泄露吗?
发布于 2021-08-01 12:24:35
发布于 2021-08-01 12:30:27
ECMAScript规范说元素是deleted
减少" length“属性的值有一个副作用,即删除自己的数组元素,其数组索引介于新旧长度值之间。
此外,ArraySetLength还指定为whose numeric value is greater than or equal to newLen, in descending numeric index order执行Delete。
因此,如果减少数组的长度,就不会有内存泄漏。
发布于 2021-08-01 12:18:53
使用[]或new Array(10000)将创建具有完全相同内存占用空间的数组。只是长度有一个不同的初始值。
JavaScript不同于其他语言,其中大小为n的数组将为元素保留n个存储空间。
https://stackoverflow.com/questions/68610283
复制相似问题