JavaScript 流程控制(二)循环结构
一、while 语句
语法结构:
- 声明循环变量;
while (循环条件) {- //循环体
// 迭代条件- }
当循环条件为 true 时,执行循环体;当循环条件为false时,结束循环。
二、do...while 语句
语法结构:
- 声明循环变量;
- do {
- // 循环体;
// 迭代条件- } while (循环条件);
先执行一次循环体,然后再进行条件判断;如果为 true,执行循环体;如果为 false ,结束循环。
注意:do-while 这种后测试循环语句最常用于循环体中的代码至少要被执行一次的情形 。
三、for 语句
1、for 语句
语法结构:
- for (初始化表达式1; 判断表达式2; 迭代表达式3) { // for循环的表达式之间用的是;号分隔的,千万不要写成,
- // 循环体4
- }
只有当判断表达式2为 true ,才执行循环体4,然后执行迭代表达式3,然后再次进行判断表达式2。
扩展:for 形式的死循环:
- for (;;) { // 无限循环
- 循环体
- }
2、for-in 语句
for-in 语句是一种精准的迭代语句,可以用来枚举对象的属性。
语法格式:
- for(var 属性名 in 对象) {
- 执行操作;
- }
Demo:
- for (var propName in window) {
- document.write(propName);
- }
分析:使用 for-in 循环来显示了 window 对象的所有属性。
注意:为了保证最大限度的兼容性,建议在使用 for-in 循环之前,先检测确认该对象的值不是 null 或 undefined
四、continue和break 关键字
1、continue
作用:立即跳出本次循环,继续下一次循环。
注意:跳出的是最近的一个循环。
2、break
作用:立即跳出整个循环,强制继续执行循环后面的语句。
注意:跳出的是最近的一个循环。
3、label 语句
使用 label 语句可以在代码中添加标签,以便将来使用 。
语法格式:
- label: statement
通常加了 label 的语句要与 循环语句配合使用,从而能更好的控制循环。
Demo:
- var num = 0;
- outermost:
- for (var i=0; i < 10; i++) {
- for (var j=0; j < 10; j++) {
- if (i == 5 && j == 5) {
- continue outermost; // 结构 label 使用,控制跳出循环
- }
- num++;
- }
- }
- alert(num); //95
JavaScript 流程控制(二)循环结构的更多相关文章
- 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
- 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...
- 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...
- 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句
050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...
- 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句
049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...
- 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和
048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...
- 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...
- 046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项
046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项 本文知识点:for循环的注意事项 for循环的注意事项 for循环有3个 ...
- 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围
045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...
- 044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏
044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏 本文知识点:do-while循环深入运用 案例练习 案例 ...
随机推荐
- Python进阶-II 参数陷阱、命名空间、嵌套、作用域、闭包
一.参数陷阱 在使用默认参数时,可能碰见下列情况 def show_args_trap(i, li = []): li.append(100) li[i] = 101 print(li) show_a ...
- zzulioj - 2597: 角谷猜想2
题目链接: http://acm.zzuli.edu.cn/problem.php?id=2597 题目描述 大家想必都知道角谷猜想,即任何一个自然数,如果是偶数,就除以2,如果是奇数,就乘以3再加1 ...
- NOIP2019翻车前写(and 抄)过的代码
咕咕咕.按上传时间升序排列. //树的重心 void dfs(int x) { v[x]=1; size[x]=1; int max_part=0; for(int i=hed[x];i;i=nxt[ ...
- 讲题专用——线段树——优化DP
题目链接:http://codevs.cn/problem/3342/ 题解: 最小化最大值:二分 二分最长空题段 令f[i]表示抄第i道题所花费的最小时间 状态转移方程:f[i]=min(f[j]) ...
- PATB1031查验身份证
这一题遇见的错误有很多,学会了一些知识点 使用了strcpy函数,前是需要复制的数组,后面是被复制的数组 关于字符,如果是非数字可以使用 <='9' && >='0'来判断 ...
- 深入js系列-类型(显式强制转换)
什么是显式 这里的显式和隐式是以普遍的标准来进行讨论的,你能看出来是怎么回事,那么它对你是"显式",相反你不知道的话,对你就是"隐式" 抽象操作 字符串.数字. ...
- awesome-RecSys
https://github.com/jihoo-kim/awesome-RecSys?fbclid=IwAR1m6OebmqO9mfLV1ta4OTihQc9Phw8WNS4zdr5IeT1X1OL ...
- React 积累
1. Fragment 标签 使用介绍:因React要求每个组件都需要一个大的外层包裹起来才可以,否则报错,如果你并不想组件外层由一个大大外层包裹,则可以使用Fragment 标签 代码示例: imp ...
- 聊一聊 JS 输出为 [object object] 是怎么回事?
聊一聊 JS 输出为 [object object] 是怎么回事? 今天在学习ES6中的 Symbol 数据类型时,在写demo时控制台输出为 Symbol[object object] ,当时有点疑 ...
- asp.net core api 跨域配置
项目前后端分离,前端请求接口例如使用axios发送请求时浏览器会提示跨域错误,需要后端配置允许接口跨域 配置步骤: 1.通过NuGet安装Microsoft.AspNetCore.Cors.dll类库 ...