JS循环

在学习ES6的变量解构赋值的时候在demo中看到了for-of循环,如今就来总结一下JS中的各类循环javascript

首先咱们先来看看最初的循环

for(var i = 0;i<arrays.length;i++){
    console.log(arrays[i]);
}

这实际上是用的最多的循环吧,若是是我我想也会首选这个循环的,由于很想后端中的for循环前端

可是咱们要记住咱们是前端工程师,咱们应该跟上时代变迁的脚步,在ES5的时代到来的时候咱们应该改进咱们的循环了java

ES5中咱们能够使用内建forEach方法遍历数组node

myArrays.forEach(function(value){
    console.log(value);
})

以上的代码看上去是否是很简洁,可是它也有一个缺点的就是不能使用break退出循环或者return返回外层函数后端

那么咱们再看看for-in循环吧数组

for (var index in myArray) { // 千万别这样作
  console.log(myArray[index]);
}

在JS中for-in循环适用于对象的遍历,而不适用于数组的遍历前端工程师

使用for-in循环数组在赋值的时候会赋值为字符串赋值函数

做用于数组的for-in循环体除了遍历数组元素外,还会遍历自定义属性。举个例子,若是你的数组中有一个可枚举属性myArray.name,循环将额外执行一次,遍历到名为“name”的索引。就连数组原型链上的属性都能被访问到。
最让人震惊的是,在某些状况下,这段代码可能按照随机顺序遍历数组元素。学习

for-of循环来了code

for (var value of myArray) {
  console.log(value);
}

这是最简洁遍历数组的方法了

这个方法避开了for-in缺陷

与forEach()不一样的是,它能够正确响应break、continue和return语句

for-of也是能够遍历其余集合

例如nodeList遍历,还能够遍历字符串,将每一个字符串视为Unicode字符遍历

快快用起来吧!

相关文章
相关标签/搜索