遍历数组
最初
for (var index = 0; index < myArray.length; index++) {
console.log(myArray[index]);
}
ES5发布后
myArray.forEach(function (value) {
console.log(value);
});
这种方法也有一个小缺陷:你不能使用break语句中断循环,也不能使用return语句返回到外层函数。
for-in循环用于普通对象属性遍历,千万别用于数组
for (var index in myArray) { // 千万别这样做
console.log(myArray[index]);
}
ES6发布后的新语法,与forEach()不同的是,它可以正确响应break、continue和return语句
for (var value of myArray) {
console.log(value);
}
for-of循环也可以遍历其它的集合
字符串遍历
for (var chr of "") {
alert(chr);
}
Set对象遍历
var uniqueWords = new Set(words);
for (var word of uniqueWords) {
console.log(word);
}
Map对象遍历
for (var [key, value] of phoneBookMap) {
console.log(key + "'s phone number is: " + value);
}
for-of循环不支持普通对象,但可以用for-in循环或内建的Object.keys()方法:
// 向控制台输出对象的可枚举属性
for (var key of Object.keys(someObject)) {
console.log(key + ": " + someObject[key]);
}