数组是一组排列有序的值,每个值都有对应的下标,下标从0开始。
JS里面的数组定义:用Array构造出来的对象。
object是Object构造出来的对象,array是Array构造出来的对象,后者是一种特殊的对象。
数组和对象的内存相同;区别在于原型链不同;数组有数组的特点,而对象没有数组的特点。
数组和对象的本质区别:proto有没有指向数组的共用属性——数组不直接指向,对象直接指向;数组是有特殊原型链的对象。
对象和数组有本质上的区别,遍历方法不同,起到的作用也不同。
只遍历key中的数字(从0开始)下标,默认是数组;遍历所有key,默认不是数组。
特殊数组
伪数组:proto没有最终指向Array.prototype(没有push方法)。目前接触到的伪数组——arguments。