耀极客论坛

 找回密码
 立即注册
查看: 720|回复: 0

详解Javascript基础之循环

[复制链接]

336

主题

318

帖子

22万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
220555
发表于 2022-5-8 01:29:15 | 显示全部楼层 |阅读模式
  这篇文章主要为大家介绍了Javascript基础之循环,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

循环

for
  循环是任何一门语言都会有个命令,用于反复执行某段代码。
  例如,循环代码块5次:
  1. for (let i = 0; i ‹ 5; i++) {
  2.   let text = `当前数字为${i}`
  3.   console.log(text)
  4. }
复制代码
  1. // 输出结果:
  2. 当前数字为0
  3. 当前数字为1
  4. 当前数字为2
  5. 当前数字为3
  6. 当前数字为4
复制代码
  此例中,let i = 0是声明循环的计次变量,i ‹ 5是循环终止条件,i++是计次变量更新步长,{}内的所有代码为循环体内代码块。
  具体流程是:计次变量进行终止条件判断运算,如果结果为true,则循环体执行,结束后进行步长更新运算,从而得到新的结果再次参与判断;如果结果为false,则立刻终止循环;
  所以想要控制循环次数,可以通常改变判断条件实现,如果循环条件永远为true,则就是一个死循环。

for-in
  for-in循环是一种特殊循环,可用于循环对象或数组(通常循环数组,使用for-of)
  1. let o = {
  2.   name: 'dapiaoliang',
  3.   age: 18,
  4.   sex: 'woman'
  5. }
  6. // 将对象内的所有键值对循环输出, 此时可以使用for-in
  7. for (let key in o) {
  8.   let text = `当前属性名:${key}, 值:${o[key]}`
  9. }
复制代码
  1. // 结果(这种循环输出顺序可能会不一样,但数量不变)
  2. 当前属性名:name, 值:dapiaoliang
  3. 当前属性名:age, 值:18
  4. 当前属性名:sex, 值:woman
复制代码
  由此可见,for-in 用于循环对象内所有的键值对,具体输出顺序可能会发生变化,但是每个键值对都会被循环一次。

for-of
  for-of时一种专门用于循环数组或类似数组结构(Iterator接口)的循环命令
  1. let arr = ["dapiaoliang", 18, 'woman']
  2. for (let value of arr) {
  3.   let text = `当前值是:${value}`
  4.   console.log(text)
  5. }
复制代码
  1. // 结果
  2. 当前值是:dapiaoliang
  3. 当前值是:18
  4. 当前值是:woman
复制代码
  类似for-in,可直接循环数组的每一项数据

while
  while是for的一个变种。(不常用)
  1. while (条件) {
  2. 循环体
  3. }
复制代码
  当条件为true,循环体就会执行,这种循环没有计次变量,不需要更新步长。所以条件通常需要是一个可变参数,如果不是可变参数,就需要在循环体内,有明确的终止条件

do-while
  do-while是一种特殊的while循环(不常用)
  1. do {
  2.   循环体
  3. }while(条件)
复制代码
  1. 当前数字为0
  2. 当前数字为1
  3. 当前数字为2
  4. 当前数字为4
复制代码
  看起来是将while的条件和循环体交换了位置,所以这种循环体,在第一次时,是不需要进行判断条件就会执行,执行结束后,再进行判断,判断结果决定下一次是否会循环
  1. 所以,do-while的条件是决定下一次是否循环,而第一次永远都会执行,所以可以理解为至少执行一次的while循环
复制代码
跳出循环
  如果在循环体内由于某些原因,需要在代码块内跳出循环,可以使用对应的关键字。
  break用于永久终止此循环,continue用于终止当前这次循环(立刻进入下一次)
  例如,跳过i = 3时情况
  1. for (let i = 0; i ‹ 5; i++) {
  2.   if (i === 3) {
  3.     continue
  4.   }
  5.   let text = `当前数字为${i}`
  6.   console.log(text)
  7. }
复制代码
  上述例子,在i=3时,循环体内判断为真,执行continue,那么此次后续两行代码不会执行,会立刻进入下一次循环。
  1. for (let i = 0; i ‹ 5; i++) {
  2.   if (i === 3) {
  3.     break
  4.   }
  5.   let text = `当前数字为${i}`
  6.   console.log(text)
  7. }
复制代码
  1. 当前数字为0
  2. 当前数字为1
  3. 当前数字为2
复制代码
  此时判断内是break,那么当i=3时,执行了break,那么后续所有次数的循环都不会执行。break会把整个循环全部关闭。

总结

  本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|耀极客论坛 ( 粤ICP备2022052845号-2 )|网站地图

GMT+8, 2022-12-7 12:20 , Processed in 0.070529 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表