垃圾回收(GC)
当一个对象没有任何变量或属性对他进行引用,此时无法操作该对象就成了垃圾,会占用大量的内存空间,必须进行清理
JS中拥有自动垃圾回收机制,会将这些垃圾对象从内存中销毁,我们不需要也不能进行垃圾回收的操作
将不再使用的对象设置为null。
var obj = new Object();
obj = null;
数组(Array)
数组也是一个对象
和普通功能相似,也是能储存一些值的
不同的是普通对象是使用字符串作为属性名的,而数组是使用数字作为索引操作元素
-索引:
从0开始的整数
向数组中添加元素
语法:数组[索引] = 值
如果读取不存在的索引,不会报错而是返回undefined
//创建数组
var arr = new Array();
//向数组中添加元素
//语法:数组[索引] = 值
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
获取数组的长度
对于连续数组,可以使用length属性来获取数组的长度
语法:数组.length
修改length
如果修改的length大于原长度,则多出部分会空出来
如果修改的length小于原长度,则多出的元素会被删除
向数组最后一个位置添加元素
语法:数组[数组.length] = 值;
arr[arr.length] = 40;
使用字面量来创建数组
语法:[ ]
var arr = [];
字面量创建数组时,创建时指定数组中的元素
var arr = [1,2,3,4,5];
构造函数创建数组,可以同时添加元素,将要添加的元素作为构造函数的参数传递
var arr2 = new Array(10,20,30);
数组方法
push()
向数组末尾添加一个或多个元素,并返回数组新长度
pop()
删除数组的最后一个元素,并将删除元素返回
unshift()
向数组开头添加一个或多个元素,并返回新长度
shift()
删除数组的第一个元素,并将删除元素作为返回值返回
forEach()
这个方法只支持IE8以上的浏览器
forEach()方法需要一个函数作为参数
var arr = [];
arr.forEach(function(){
console.log("hello");
});
像这种函数由我们创建不由我们调用的,称为回调函数,浏览器在回调函数中传递三个参数
—第一个参数,正在遍历的元素
—第二个参数,当前正在遍历元素的索引
—第三个参数,正在遍历的数组