数组是什么?
数组指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。
注:数组内可存放任意数据类型,包括数组和对象
创建数组的两种方式
1.利用new关键字创建数组—let 数组名 =new Arra(),注:当()里只为一个数字的时候必须为整数,此时意味着数组预留的长度,而当两个或两个以上的时候,即正常的数组
2.利用数组字面量创建数组—let 数组名 = [],[]里面填数组元素即可,是最常用的一种创建数组方式
JS如何访问数组
1.数组有默认且有顺序的下标,从0开始,由此可以使用遍历来访问数组内全部元素,即遍历数组
数组内的具体存储方式
1.栈内存,存储的是基础数据类型,变量的实际地址,引用数据类型的实际地址,可理解为一张纸上写的东西,更改时会直接划掉然后在后面写上
2.堆内存,存储的是实际数据,可理解为一座房子内的东西更改时,会拿出这个东西,然后再换成你更改的东西(实际数据一定意义上可理解为产生交互的数据,可能会保存于后台)
“拷贝”即栈内存和堆内存存储的引申
1.“浅拷贝”—只发生在引用类型中,可理解为两个人共用一个房子地址,当程序去根据这个地址去找时,找到的是同一个房子
2.“深拷贝”—可理解为,一个人看另一个人房子里装修很华丽,等比仿照来装修自己的房子,但后续他仿照的房子重新装修了,他自己的房子依旧是最开始仿照的装修,并没有改变,当程序去找的时候是两座房子不同的引用地址,注:必有遍历
二者表面看都是相等,但实际则是一个房子查看两边和两个房子一模一样各查看一次
多维数组
前面说到数组内也可以存放数组,由此可以进行叠套,几维即几个数组套在一起