JS for循环和其余循环的总结
1.用得最多的for循环; break;可以中断循环
let str = '';
for(let i =0; i < 3; i++){
str = str + i
}
console.log(str) //012
2.do...while语句创建一个执行指定语句的循环,直到condition值为false。在执行statement后检测condition,所以statement至少执行一次。
do
statement
while (condition)
var list = [
{ name: '你好', id: 0 },
{ name: '你好', id: 4 },
{ name: '你好', id: 2 },
{ name: '你好', id: 5 },
{ name: '你好', id: 6 },
]
var i = 0;
do{
i += 1
console.log(list[i])
} while(list[i].id == 2)
// {name: "你好", id: 4}
3.for...in 语句任意顺序遍历一个对象的除Symbol以外的可枚举属性,用法是为了遍历对象而构建的,不建议和数组一起使用
for (variable in object)
statement
variable:在每次迭代时,variable会被赋值为不同的属性名。
var obj = { a: 1, b: 2, c: 3 }
for(var i in obj){
console.log('键名:' + i + '值:' + obj[i])
}
//键名:a 值: 1
//键名:b 值: 2
//键名:c 值: 3
4.for...of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义的迭代钩子,并为每个不同属性的值循环语句可以由break, throw continue或return终止迭代器关闭。
for (variable of iterable) {
statements
}
迭代Array
const arr = ['a','b','c'];
for(const val of arr){
console.log(val)
}
//a
//b
//c
迭代String
let iterable = "boo";
for (let value of iterable) {
console.log(value);
}
// "b"
// "o"
// "o"
迭代 TypedArray
let iterable = new Uint8Array([0x00, 0xff]);
for (let value of iterable) {
console.log(value);
}
// 0
// 255
迭代Map
let iterable = new Map([["a", 1], ["b", 2], ["c", 3]]);
for (let entry of iterable) {
console.log(entry);
}
// ["a", 1]
// ["b", 2]
// ["c", 3]
for (let [key, value] of iterable) {
console.log(value);
}
// 1
// 2
// 3
迭代 Set
let iterable = new Set([1, 1, 2, 2, 3, 3]);
for (let value of iterable) {
console.log(value);
}
// 1
// 2
// 3
迭代 arguments 对象
(function() {
for (let argument of arguments) {
console.log(argument);
}
})(1, 2, 3);
// 1
// 2
// 3
5.for await...of 语句创建一个循环,该循环遍历异步可迭代对象以及迭代对象:内置的 String, Array,类似数组对象 (例如 arguments 或 NodeList),TypedArray, Map, Set 和用户定义的异步/同步迭代器语法
for await (variable of iterable) {
statement
}
迭代异步生成器
async function* asyncGenerator(){
var i = 0;
while (i < 3){
yield i++;
}
}
(async function() {
for await (num of asyncGenerator ()){
console.log(num)
}
})()
//0
//1
//2
6.while 语句可以在某个表达式为真的前提下,循环执行指定一段代码,直到表达式不为真时结束语法
while (condition)
statement
let n = 0;
while(n < 3){
n++;
}
console.log(n)
//3
7.switch 语句一个表达式,将表达式的值与case字句匹配,并执行与该情况相关联的语句(不是循环)类似if判断
let str == 'holle';
switch(str){
case 'world':
//当str的结果与value1匹配时,执行此语句结束;
break;
...
case 'holle':
//当str的结果与value4匹配时,执行此语句结束;
break;
default:
//当传值和值都不匹配时,结束
break;
}
目前所学到有六种循环,正在挖掘中。。。

浙公网安备 33010602011771号