热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【JavaScript】循环结构

目录条件判断循环for循环结构forinwhile循环结构dowhile结构switch语句条件判断语法:if(条件){..为真执行语句..}else{.

目录

  • 条件判断
  • 循环
    • for循环结构
    • for...in
    • while循环结构
    • do...while结构
    • switch语句

条件判断

语法:if(条件){..为真执行语句..} else{..非真执行语句..}

var age = 20;
if (age >= 18) { // 如果age >= 18为true,则执行if语句块alert('adult');
} else { // 否则执行else语句块alert('teenager');
}

如果执行语句只有一句,其实是可以省略{}的,但是这种写法容易造成,在后期想要添加语句的时候,添加却忘记使用{},造成语义歧义。

var age = 20;
if (age >= 18)alert('adult');
elseconsole.log(&#39;age <18&#39;); // 添加一行日志alert(&#39;teenager&#39;); // <- 这行语句已经不在else的控制范围了

建议永远写上{}

多选择判断语法&#xff1a;if(){....} else if(){....} else{....}

var age &#61; 13;if (age>&#61;6&&age<18){alert(&#39;teenager&#39;);}else if (age>18){alert(&#39;adult&#39;);}else{alert(&#39;kid&#39;);}

js中的布尔值判定&#xff1a;
Javascript中把null、undefined、0、NaN和空字符串&#39;&#39;视为false&#xff0c;其他均为true

循环

for循环结构

语法&#xff1a;

var x &#61;0;
var i;
for (i &#61; 1; i<&#61;1000; i&#43;&#43;){ //初始条件&#xff1b;判断条件&#xff1b;递增条件x &#61; x&#43;i;
}

for循环最常用的地方是利用索引来遍历数组&#xff1a;

var arr &#61; [&#39;Apple&#39;, &#39;Google&#39;, &#39;Microsoft&#39;];
var i, x;
for (i&#61;0; i}

以上代码会依次打印arr中的三个元素。

for循环的三个条件其实都是可以省略的for(;;){}&#xff0c;但是要在执行语句中添加一个break否则就是死循环。其中break可以添加在条件判断语句中。

var x &#61; 0;
for (;;) { // 将无限循环下去if (x > 100) {break; // 通过if判断来退出循环}x &#43;&#43;;
}

for...in

for循环的一个变体就是for ... in循环&#xff0c;可以把一个对象的所有属性依次循环出来&#xff1a;

var o &#61; {name: &#39;Jack&#39;,age: 20,city: &#39;Beijing&#39;
};
for (var key in o) {alert(key); // &#39;name&#39;, &#39;age&#39;, &#39;city&#39;
}

要过滤掉对象继承的属性&#xff0c;用hasOwnProperty()来实现&#xff1a;

var o &#61; {name: &#39;Jack&#39;,age: 20,city: &#39;Beijing&#39;
};
for (var key in o) {if (o.hasOwnProperty(key)) {alert(key); // &#39;name&#39;, &#39;age&#39;, &#39;city&#39;}
}

注意&#xff0c;for.. inArray的循环得到的是str类型&#xff0c;而不是number。

while循环结构

语法&#xff1a;

while(条件){执行语句;
}

do...while结构

最后一种循环是do { ... } while()循环&#xff0c;它和while循环的唯一区别在于&#xff0c;不是在每次循环开始的时候判断条件&#xff0c;而是在每次循环完成的时候判断条件&#xff1a;

var n &#61; 0;
do {n &#61; n &#43; 1;
}
while (n <100);
n; // 100

do { ... } while()循环要小心&#xff0c;循环体会至少执行1次&#xff0c;而forwhile循环则可能一次都不执行。

switch语句

语法&#xff1a;

switch(n) //一个变量&#xff0c;用于选择case代码块
{
case 1:执行代码块 1break; //用于阻止代码向向下一代码块运行
case 2:执行代码块 2break;
default:n 与 case 1 和 case 2 不同时执行的代码
}

case后面只能跟数字吗&#xff1f;

var inp1&#61; &#39;this&#39;;var inp2&#61;&#39;then&#39;;var inp3 &#61; &#39;that&#39;;var inp4 &#61; &#39;the&#39;;var x &#61; inp1;switch (x){case inp1:console.log(x);break;case inp2:console.log(x);break;case inp3:console.log(x);break;case inp4:console.log(x);break;default:console.log(&#39;no!&#39;);break;}

由上面的例子可以看出&#xff0c;case后面跟的是一个变量。通过变量的名称选择case执行的代码块

转:https://www.cnblogs.com/scott-lv/p/7753904.html



推荐阅读
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • switch语句的一些用法及注意事项
    本文介绍了使用switch语句时的一些用法和注意事项,包括如何实现"fall through"、default语句的作用、在case语句中定义变量时可能出现的问题以及解决方法。同时也提到了C#严格控制switch分支不允许贯穿的规定。通过本文的介绍,读者可以更好地理解和使用switch语句。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
author-avatar
王者灬旋律
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有