数组
1.数据类型之间存储的区别
1)我们的存储空间分成两种 栈 和 堆
2)栈: 主要存储基本数据类型的内容
堆: 主要存储复杂数据类型的内容
数据类型之间的比较:基本数据类型是 值 之间的比较 复杂数据类型是 地址 之间的比较
2.函数参数传递
基本数据类型和复杂数据类型的区别
因为复杂数据类型,变量存储的是地址,真实内容在 堆空间 内存储,所以赋值的时候相当于把 obj 存储的那个地址复制了一份给到了 obj2 变量,现在 obj 和 obj2 两个变量存储的地址一样,指向一个内存空间,所以使用 obj2 这个变量修改空间内的内容,obj 指向的空间也会跟着改变了
3.数组的常用方法
push 是用来在数组的末尾追加一个元素
pop 是用来删除数组末尾的一个元素
unshift 是在数组的最前面添加一个元素
shift 是删除数组最前面的一个元素
splice 是截取数组中的某些内容,按照数组的索引来截取
reverse 是用来反转数组使用的
sort 是用来给数组排序的
concat 是把多个数组进行拼接
join 是把数组里面的每一项内容链接起来,变成一个字符串
indexOf找数组某一项索引
includes检测数组是否有某些内容
4.ES5常用数组遍历方法
forEach
map
filter
find
every
数组中是否每个元素都满足指定的条件, 全部满足返回true
some
数组中是否有元素满足指定的条件,只要有一个满足返回true
reduce
5.冒泡排序
比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。