以遍历一个数组为基础,定义一个数组: var arr=[1,2,3,4,5];
传统for
for(var i=0; i<arr.length; i++){
console.log(i)
}评价:传统for没有什么特别的
forEach
arr.forEach(function(e){
console.log(e)
})评价:forEach有点特殊,他的参数是一个回调函数,可以对遍历得到的每一个元素,进行再加工。forEach回调函数全写forEach(function(item,index,arr)
item --------> 遍历得到的当前元素;
index -------> 遍历得到的当前元素的索引值
arr ---------> 遍历得到的当前元素所属的数组对象,就是被遍历的对象自身
for-in
for(let item in arr){
console.log(item)
}评价:for-in 遍历得到的对象比较特别,是对象的键名(在数组中,得到的则是每一个元素的角标),所以这货适合用来遍历具有键值对的对象,从而得到一个对象的键
for-of
for(let item of arr){
console.log(item)
}评价:for-of相比来说,他强大中带着一点二的特质。因为for-of不能遍历对象,只能遍历拥有迭代器的集合对象,如:数组、字符串、Map、Set等