1、for 循环
最基本的循环,这里就不多作介绍了
for(var i = 0;i < 7;i++){ console.log(i); }
2、for in 循环
一般用于循环对象,如下:
obj = { name: 'waq', age: 22, luck: 'come' } for (let i in obj){ console.log(i,obj[i]); }
当然也可以用来循环数组,但不推荐,主要是因为循环数组后得到的数组索引是 string 而不是 number,如果要在循环里面对索引进行计算就会出错,如下:
var arr = [88,66]; for (let i in arr){ console.log(i,typeof i); console.log(i+=i); }
3、for of 循环
ES6新增的循环方法,避免了for in的所有缺点,但是不能遍历对象。for of还有一个致命伤,没有索引。
var arr = [88,66,'waq']; for (let i of arr){ console.log(i); }
还可以遍历字符串:
var str = 'goodLuck'; for (let i of str){ console.log(i);//g o o d L u c k }
4、forEach 循环
forEach 循环里面没办法使用 break 语句或使用 return 语句。而且在IE中无法实现,需要做兼容处理。传入的是一个函数。
var arr = [88,66,'waq']; arr.forEach(function (value,index){ console.log(value,index); })
5、map()循环
不改变原数组但是会返回新数组,传入的是一个函数。
var arr = [12,13,14]; var newArr = arr.map(i=>{ return i+=10; }) console.log(arr); console.log(newArr);