一,概念
垃圾回收GC:
程序运行过程中也会产生垃圾,垃圾积攒过多以后会导致程序的运行速度过慢,所以我们需要一个垃圾回收机制来处理程序运行过程中产生的垃圾。当一个对象没有任何的变量属性对它进行引用,此时我们将永远无法操作该对象,此时这种对象就是垃圾。这种对象过多就会占用大量的内存空间,导致出现运行变慢,所以这种垃圾必须进行清理。
在JS中有自动的垃圾回收机制,会自动将这些垃圾对象从内存中销毁。我们不需要也不能进行垃圾回收的操作(不同浏览器操作机制不一样)。我们需要做的就是将我们不再使用的对象设置为null。
obj = null;对象失去引用
等到了时间浏览器就会自动回收。
二,数组Array
对象,我们之前说到在JS中有3种对象,内建对象,宿主对象和自定义对象。内建对象是ES定义的对象,window,console等。
数组(Array):也是一个对象,它和普通对象类似,也是用来存储数据的。
不同的是普通对象是使用字符串作为属性名的,数组是使用数字来作为索引,索引是从0开始,数组的存储性能比普通对象要好,在开发中我们经常使用数据存储一些数据。
三,数组的四个方法
1)push():向数组的末尾添加一个或多个元素,并返回数组的新的长度
2)pop():删除数组的最后一个元素,并将被删除的元素返回
3)unshift():向数组的开头添加一个或多个元素,并返回新数组长度
向前添加元素后,其他元素的索引会依次调整
4)shift():删除数组的第一个元素,并将被删除的元素作为返回值 返回
四,数组的遍历
五,forEach()方法
六,数组中常用的方法slice()和splice()
slice()方法:从数组中提取指定元素 该方法不会改变原数组,而是将截取的元素封装到一个新的数组中返回
* 1.截取开始位置的索引,包含截取起始位置
* 2.截取结束位置索引,不包含截取结束位置
可以为负数 ,
splice():会对数组产生影响
splice()在添加元素时,当第二个参数为0 表示不删除元素,在起始位置 前添加元素。
七,数组去重
八,数组的其他方法
1)concat()可以连接两个或多个数组,并将新的数组返回,不会对原数组产生影响
2)join()将数组转换成为字符串,不会对原数组产生影响,而是将转换后的字符串作为结果返回。
join()中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符
3)reverse()反转数组,该方法会直接修改原数组
4)sort()对数组元素按(unicode排序)字典序排序,会影响原数组
可以自己指定排序规则:
可以在sort()函数中添加一个回调函数,来指定排序规则。回调函数中需定义两个参数,浏览器将会分别使用数组中的元素作为实参去调用回调函数。
如果需要升序排列则a-b;降序排列则b-a