javascript循环
for
, forEach
, map
都可以用来循环。
for
, forEach
, map
这三个方法本质上是不同的。
for
是循环的基础语法,可以有 for...in
, foo...of
,for(let i = 0; i < len; i++)
等。在for
循环中可以使用 continue
, break
来控制循环。
forEach
可以当做是for(let i = 0; i < len; i++)
的简写,但是不能完成 i + n
这种循环,同时也不支持 continue
和 break
,只能通过 return
来控制循环。另外,使用forEach
的话,是不能退出循环本身的,一般只用于 循环数组。
map
的用法应该是循环当前可循环对象,并且返回新的可循环对象
,跟for
和forEach
是不同的。
for...in和foo...of区别:
for...in循环出来的是key,而且会遍历
prototype
;
foo...of循环出来的是value,不能用于循环普通的对象,需要和Object.keys()搭配;
所以循环对象属性时,使用for...in,循环数组时用for...of。