数组的源头
-
数组是什么?
-
数组数据结构(英语:array data
structure),简称数组(英语:Array),是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素对应的存储地址。
关键词:相同类型、连续内存、索引、固定大小。传统的数组在声明的时候依据元素数据类型就已经分配好了内存空间,并且CPU锁死那一块内存空间,导致不能改变数组长度。这么看来,传统的数组设计得很一言难尽。
-
JS里的Array对象
JS的Array对象在此基础上进行了优化,主要解决了以下问题:
1、能够存储不同类型的数据类型
2、能够自动扩容
在JS的解释引擎下对数组设计了两种封装模式:快模式和慢模式
快模式是一段连续的内存,读取元素,速度更快
慢模式创建了哈希表,通过与之有关的函数来读取元素,不用开辟大的内存空间,节省了内存,但是执行效率慢了很多