这个代码清除了像 push,fill,some...
的函数调用
而只保存了 length
和 索引取值
这种写法 内存占用会不会减少?
如果内存占用减少,那么 这个写法是很适合写那些只需要读的数据,不需要改变的数据。
这个代码清除了像 push,fill,some...
的函数调用
而只保存了 length
和 索引取值
这种写法 内存占用会不会减少?
如果内存占用减少,那么 这个写法是很适合写那些只需要读的数据,不需要改变的数据。
10 回答11.4k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
这个理论上不会减少内存占用,因为标准数组对象的内置方法其实是运行环境中内生的,这些方法和数组对象中实体数据之间并不是直接联系。根据javascript中内存中数组对象的组织,大致上可以认为是
这里,你所谓的把
__proto__
设置为null
来清楚数组对象对应的方法其实对某个具体数字占用内存空间来说没有意义,因为数组对象在内存中的存储结构(大小)没有发生任何实质性改变。借用C语言中对某个结构体占用空间来类比,即数组属性中__proto__
的值的类型一定情况下,__proto__
具体的值并不影响数组本身占用空间大小,再通俗的说,__proto__
是一个内存指针值(变量)时,它的值为null
还是实际一个有意义的内存值,对__proto__
占用空间来说是一样的。