JS数组在内存的效率
猪痞恶霸 人气:0JS数组
我们所熟知的JS数组的结构和其他语言数组结构类似,即物理内存是连续的,所以这也就导致了数组成员移动次数越少,其效率越高,一般数组会被分配到一段连续的内存中,像这样
大家可能会疑问,你为啥要给画一个边框呢,其实我们的数组在定义的时候默认了它的长度,即当我们像要在数组中添加元素的时候,就需要对它的长度做出改变。
效率比较
JS提供了几个api来让我们便捷地向数组中添加元素,比如说push,unshift
push()是添加一个元素在数组的末尾,这里我们无需操作其他的元素,只需要this,length+=1即可
unshift()是在数组的头部添加一个元素,我们看到的仅仅只要其表面数组的头部增加了一个元素,其实底层数组的中的所有成员都需要向后移动,从尾到头的顺序,如下所示,其就会凸显出性能差的特点。
举个栗子
加载全部内容