for 循环
for(var i = 0 ; i < arr.length ; i++){
程序内容
}
for 循环在执行过程中,第一次循环建立一个循环变量 i ,之后每次循环,都是操作的这个循环变量,是对一个循环变量重复赋值。
不管循环多少次,都只是建立一个变量 i 对这个变量 重复赋值进行操作。
操作到最后 只有一个 i 存储最终的数值。
for循环的优点是,可以控制循环的起始和结束
forEach循环
arr.forEach(function(形参1,形参2,形参3){
程序内容
})
forEach循环专门针对数组循环。
形参1(value): 存储的是当前循环次数时,获取的单元数据。
参数2(key): 存储的是当前循环次数时,获取的单元索引下标。
参数3: 存储的是原始数组。
三个形参,不一定都要定义,可以根据实际需求。
forEach() 定义变量的方式和 for循环不同
虽然 变量名称没有改变,但是 每次循环都会创建一个独立不同的变量
存储的数值,也是独立的不同的数值,而且相互之间不会影响
此时当forEach() 循环结束时,循环几次,就有几个独立的变量,存储每次循环对应的数据内容
forEach() 只能循环遍历数组,不能循环遍历对象。
for…in循环
for(var 自定义变量 in 数组){
程序内容
}
for…in循环 会将数组的索引下标,存储在自定义变量中,通过自定义变量存储的索引,来获取数组的单元数据信息, 只能获取索引,别的不能获取。
for循环,索引是循环变量 for…in循环,索引是自定变量。
for…in循环,在循环标签伪数组时,会多获取__proto__ 中的 3个内容
之后做一些操作时,会产生报错信息,但是一般不会影响程序的正常执行
for…in循环针对对象。