在进修ES6的变量解构赋值的时刻在demo中看到了for-of轮回,如今就来总结一下JS中的种种轮回
起首我们先来看看最初的轮回
for(var i = 0;i<arrays.length;i++){
console.log(arrays[i]);
}
这实际上是用的最多的轮回吧,假如是我我想也会首选这个轮回的,由于很想后端中的for轮回
然则我们要记着我们是前端工程师,我们应当跟上时期变迁的脚步,在ES5的时期到来的时刻我们应当革新我们的轮回了
ES5中我们能够运用内建forEach要领遍历数组
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轮回来了
for (var value of myArray) {
console.log(value);
}
这是最简约遍历数组的要领了
这个要领避开了for-in缺点
与forEach()差别的是,它能够准确相应break、continue和return语句
for-of也是能够遍历其他鸠合
比方nodeList遍历,还能够遍历字符串,将每一个字符串视为Unicode字符遍历
快快用起来吧!