for循环:
普通for循环,循环下标
for(let i=0; i < len; i++){
}
for-of循环,循环值
for(let item of 多值变量){
}
for-in循环,循环下标
for(let item in 多值变量){
}
foreach循环,值和下标
多值变量.foreach(function(element,index){
})
Iterator
//普通for循环
for(let i=0; i<5; i++){
console.log("大家好!")
}
//准备数据
// 0 1 2
let arr = ['a','b','c'];
//for-of循环,获取值
for(let item of arr){
console.log(item);
}
//for-in循环, 获取下标
for(let item in arr){
console.log(item);
}
//foreach循环 内容 位置
arr.forEach(function(element, index){
console.log(element, index);
});
let objs = [
{"id":"1001","name":"zhangsan"},
{"id":"1002","name":"lisi"}
]
for(let obj of objs){
console.log(obj.id, obj.name);
}
//数组的遍历
let arr2 = ['a', 'b', 'c'];
//获取arr2的遍历器
let it = arr2[Symbol.iterator]();
let jg = it.next();
// if(jg.done == false){
// console.log(jg.value)
// }
// console.log(it.next());
// console.log(it.next());
// console.log(it.next());
// console.log(it.next());
while(jg.done == false){
console.log(jg.value);
jg = it.next(); //{value:'',done:false}
}
,用于循环获取Iterator属性的值
使用方式:对象[Symbol.iterator]() 会返回包含一个next()方法的对象
数组、set、map都具有[Symbol.iterator]()属性,可以直接遍历使用
对象需要自行封装[Symbol.iterator]()属性
</pre>