ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Js中几种循环的使用

2022-07-20 18:35:55  阅读:150  来源: 互联网

标签:... console log 几种 while num let Js 循环



在JavaScript中有五种常用的循环,现在来分别介绍一下五种循环的用法。

1.while

当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}。

let num = 0;
while (num < 5) {
   num++;
   console.log(num);
}
// 1
// 2
// 3
// 4
// 5
while (num > 5) {
   num++;
   console.log(num);
}
// 5
// 4
// 3
// 2
// 1

2.do...while

do {循环体} while(表达式)

用法和while相差不大,但有特殊的一点是当while后条件表达式为false时,do内的循环体仍然会执行一次

let num = 0;
do {
   num++;
   console.log(num);
} while (num < 5)
// 1
// 2
// 3
// 4
// 5
do {
   num++;
   console.log(num);
} while (num > 5)

// 1

3.for

for循环是平时用法最多的循环,for循环的循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。因为for循环的单次表达式,条件表达式,末尾循环体可以使用不同的形式,所以for循环很灵活,有多种变式。

shilet num = 0;
// 最基本的用法
for (let i = 5; i > num; i--) {
   console.log(i);
}
// 当单次表达式写在判断条件外部时
let i=5;
for(;i>num;i--){
   console.log(i)
}
// 当单次表达式和条件表达式写在判断条件外部时
for(;;i--){
   if(i>0){
       console.log(i);
  }else{
       break
  }
}
for(;true;){
   if(i>0){
       console.log(i);
  }else{
       break
  }
   i--;
}
// 当作while循环使用
// 死循环 一直打印 for
for(;true;){
   onsole.log('for');
}

for...of...

for...of...通常用来遍历传入对象的属性值,前提传入的对象是一个可迭代对象,不可迭代对象需要转为可迭代对象再遍历.

let arr = [1, 'a', '2', 3, 'b'];
let obj = {
   name: 'aa',
   age: 11
}
for (const value of arr) {
   console.log(value);
}
// 1
// a
// '2'
// 3
// b
for (const value of obj) {
   console.log(value);
}
// TypeError: obj is not iterable 提示obj不是可迭代对象

使用for...of...可以消耗迭代器

// o为生成斐波那契数列的一个迭代器对象
let o = {
   n1: 1,
   n2: 1,
  [Symbol.iterator]() {
       return this
  },
   next() {
       let current = this.n2;
       this.n2 = this.n1;
       this.n1 = this.n1 + current;
       if(current>10) return {value: current,done: true}
       return {value: current,done: false}
  }
}

for (const v of o) {
   console.log(v);
}
// 1
// 1
// 2
// 3
// 5
// 8

for...in...

for...in...通常来遍历传入对象的属性名,该循环没有对对象是否可迭代的要求

let arr = [1, 'a', '2', 3, 'b'];
let obj = {
   name: 'aa',
   age: 11
}

for (const key in arr) {
   console.log(key);
}
// 0
// 1
// 2
// 3
// 4
for (const key in obj) {
   console.log(key);
}
// name
// age

标签:...,console,log,几种,while,num,let,Js,循环
来源: https://www.cnblogs.com/liil2001/p/16499393.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有