object - 对象类型
这种类型的数据,有3种表现形式:
null - 空
{} - 俗称对象
[] - 俗称数组,也是使用一个大的内存空间来存放多个小的内存空间,大空间中的小空间之间是有顺序的
数组的定义 - 数组:Array
语法:var arr = []
var arr = new Array() - 系统提供了各种构造函数用来创建各种数据
// 数组的细节:
1.数组中存放的数据,类型是没有限制的,可以存放任意类型的数据
2.数组中小空间的编号,永远都是从0开始,一次向后递增的,数组中第一个小空间的编号,永远是0。
3.数组中最后一个小空间的编号,永远都是 数组中数据的个数-1。
4.获取数组中数据的个数:数组.length 获取 - 数组长度
5.当使用[]定义数据时,如果[]中只有一个数字,此时代表大空间中只有一个小空间,小空间中的数据是这个数字;当使用new Array()定义数据时,如果()中只有一个数字,表示大空间中有 数字 个空的小空间
给数组设置数据
数组[下标] = 值
添加:如果要添加的下标大于最大的下标,中间一定会创建多个空的小空间
修改:当设置的下标大于最大下标,就是添加,如果设置的下标在0~最大下标之间,修改其中的值
删除数组数据: 因为数组也属于object类型,所以,delete对于数组来说同样适用
delete 数组[下标] - 只能删除小空间中对应的数据,但是小空间还存在
可以利用数组的长度来删除数组
// arr.length = 5 // 超出指定长度的数据都被删除掉了
// arr.length = 10 // 如果赋的值超出原本的长度,就会在后面创建多个空的小空间
console.log(arr);
数组遍历:将数组中每个元素都访问一次
区别1:for in遍历出来的下标是字符串,for i=0遍历出来的是数字
区别2:for in只遍历有值的空间,i=0的方式,会将空的小空间中的值也遍历出来
区别3:for in会遍历原型中的数据,for i=0只能遍历当前空间中的数据
console.log(arr);
建议大家使用i=0的方式去遍历
可以将数组理解成是由键值对组成的数据,键是数字
可以将对象理解成是有编号的很多小空间组成,下标是字符串
数组嵌套
数组中数据类型没有限制,可以放number、boolean、undefined、string、object、function
数组中的数据也可以是数组,这样就形成了数组的嵌套
大数组arr
中数组 arr[0]
小数组 中数组[1]