for循环
缺点:代码臃肿
var arr = [1, 2, 3, 4]
// 代码臃肿
for (var i = 0; i < arr.length; i++) {
if (i == 2) {
continue
}
// console.log(arr[i]);
console.log(i);
}
forEach
缺点:不能跳出循环
arr.forEach((item, index) => {
if (index == 2) {
continue
}
console.log(item);
console.log(index);
})
…arr
缺点:不能拿到索引
console.log(...arr);
for…of
可遍历对象:可以被for…of遍历的对象,数组,字符串,伪数组,Set, Map
优点: 1、代码简洁
2、索引是number类型
3、key和value可以分别遍历
4、可以跳出循环
for (y of arr) {
// console.log(y);
}
// for (key of arr.keys()) {
// console.log(key);
// }
// for (value of arr.values()) {
// console.log(value);
// }
// entry
for ([key, value] of arr.entries()) {
if (key == 2) {
continue
}
// console.log(key);
console.log(value);
}
// for...of 的使用
// 伪数组
let list = document.getElementsByTagName('li')
for (li of list) {
console.log(li);
}
// 字符串
var str = '我们都是前端的天才'
for (st of str) {
console.log(st);
}
// 对象
var obj = {
name: 'zs',
age: 18
}
for (ob of obj) {
console.log(ob); //obj is not iterable
}