for
, forEach
, map
均可以用来循环。数组
for
, forEach
, map
这三个方法本质上是不一样的。prototype
for
是循环的基础语法,能够有 for...in
, foo...of
,for(let i = 0; i < len; i++)
等。在for
循环中能够使用 continue
, break
来控制循环。code
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()搭配;
map
因此循环对象属性时,使用for...in,循环数组时用for...of。语法