理解for循环
先给大家出一个小题目,看看最终我们的i的值是多少?
for(var i=0;i<10;i+=2){
if(i<=5){
i++;
continue;
}else{
i--;
break;
}
}
这里面考察的知识点有for循环运行机制,以及continue,break结束循环的机制。
先来看看我们的for循环
for循环的语法是
for(设置初始值;设置循环执行的条件;步长累加){
//条件成立,执行循环体中的内容
//循环体中存放的就是我们需要重复处理的事情
}
那for循环是怎么运行的呢?我们按照下面的四步来。
第一步设置初始值
第二步设置循环条件
第三步条件成立,执行循环体中的内容,不成立直接结束循环
第四步每一次执行完循环体中的内容,做下一步步长的累加。
需要注意的是循环属于同步编程,上面的不成立,下面的代码根本就不会执行。
例如
for(var i=0;i<5){
console.log(i)
}
满足循环条件,i永远是等于0的,打印结果就是0。
for循环按照上面的四步走,每一步的执行机制都可以详细的用数据表示出来。
关于continue和break的区别:
continue是结束当前本轮循环,执行下一次循环。结束本轮循环就是让循环体中continue后面的代码不再执行
直接的去进行步长累加。
break是结束整体循环,就是当循环体中到break,break后面的操作语句都不再执行,步长累加也不再执行,
所有和循环有关的都结束了
上面的题目你熟练的完成了吗?
我再改造一下,我们再运行看看,相信你会知道答案。
debugger
for(var i=0;i<10;i+=2){
if(i<5){
i++;
alert(i)
continue
}else{
alert(i)
i--;
alert(i)
break;
}
alert(i)
}
by我还差的很远,求各位园友给我建议,让我进步
理解for循环的更多相关文章
- 通过keras例子理解LSTM 循环神经网络(RNN)
博文的翻译和实践: Understanding Stateful LSTM Recurrent Neural Networks in Python with Keras 正文 一个强大而流行的循环神经 ...
- 帮助你更好的理解Spring循环依赖
网上关于Spring循环依赖的博客太多了,有很多都分析的很深入,写的很用心,甚至还画了时序图.流程图帮助读者理解,我看了后,感觉自己是懂了,但是闭上眼睛,总觉得还没有完全理解,总觉得还有一两个坎过不去 ...
- 例题:打印乘法口诀。可能大家一看有点难,但只要理解for 循环嵌套,两层循环,外层循环行数,里层循环列数,搞清楚行数和列数之间的关系,就可以轻松做出这道题
namespace 打印乘法口诀{ class Program { static void Main(string[] args) { f ...
- JavaScript:理解事件循环
话说js是单线程的,它通过浏览器事件循环轮询事件队列,来实现异步.然而,事件循环的时机是什么时候?浏览器是如何帮助JS引擎线程实现异步的? 浏览器页面进程的四个线程 首先说一下,chrome会为每一个 ...
- for循环,你深刻理解了吗?
前几天,有一个面试机会,去看了看,遇到一个认为不错的面试题! 过了几天看到csdn上说华为的一道面试题,看了下和我遇到的很相似! 我分享出来希望大家有帮助! 你真的深刻理解for循环了吗? ...
- [译]理解Windows消息循环
出处:http://www.cnblogs.com/zxjay/archive/2009/06/27/1512372.html 理解消息循环和整个消息传送机制对Windows编程来说非常重要.如果对消 ...
- 理解Windows消息循环机制
理解消息循环和整个消息传送机制对Windows编程十分重要.如果对消息处理的整个过程不了解,在windows编程中会遇到很多令人困惑的地方. 什么是消息(Message)每个消息是一个整型数值,如果查 ...
- 对javascript EventLoop事件循环机制不一样的理解
前置知识点: 浏览器原理,浏览器内核5种线程及协作,JS引擎单线程设计推荐阅读: 从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理 [FE]浏览器渲染引擎「内核」 js异步编程,Promise ...
- spring 循环依赖的一次 理解
前言: 在看spring 循环依赖的问题中,知道原理,网上一堆的资料有讲原理. 但今天在看代码过程中,又产生了疑问. 疑问点如下: // 疑问点: 先进行 dependon 判断String[] de ...
随机推荐
- Centos7.2下OpenVPN 环境完整部署记录
关于OpenVPN的有关介绍及为何使用OpenVPN在此就不做赘述了,下面直接记录Centos7.2系统下部署OpenVPN环境的操作过程: 1) 先将本机的yum换成阿里云的yum源 [root@t ...
- Python-列表-9
列表: Why: 我们现在已经学过的数据类型有:数字,布尔值,字符串,大家都知道数字主要用于计算,bool值主要是条件判断,只有字符串可以用于数据的存储,这些数据类型够用么?对于一门语言来说,肯定是不 ...
- php开启curl不成功原因
1. 在php.ini中找到 ;extension=php_curl.dll, 如果前面有分号, 去掉 2. php_curl.dll (ext目录下, 如果没有, 请下载) , libeay32.d ...
- Eclipse: Difference between clean, build and publish
https://stackoverflow.com/questions/5656989/eclipse-difference-between-clean-build-and-publish http: ...
- Linux初学笔记---关于进程管理等
菜鸟初学: 1. 查看进程用的命令: ps 具体用法 ps -A ro ps -e 显示所有进程 ps -u root 显示root 用户的进程 ps -u root -N 显示非root用户的进程 ...
- hive桶表
创建桶表,提高查询速度, 下免.tom'jerry'scott如果他们经过hash计算,得到的hash值一样,则放到桶一个表中. 创建桶表 指明桶的分桶条件,以sname分桶;分为5个桶
- Test Scenarios for image upload functionality (also applicable for other file upload functionality)
1 check for uploaded image path2 check image upload and change functionality3 check image upload fun ...
- codeforces 873C - Strange Game On Matrix
题目大意:给你一个n*m的只有0和1的矩阵,找到每列第一个1的位置a[i][j],a[i][j]及其a[min(k,n-i+1][j]中1的数量,每列位置值是1的可以变为0: 解题思路:因为数据较小, ...
- BZOJ5018[Snoi2017]英雄联盟——DP
题目描述 正在上大学的小皮球热爱英雄联盟这款游戏,而且打的很菜,被网友们戏称为「小学生」.现在,小皮球终于受不 了网友们的嘲讽,决定变强了,他变强的方法就是:买皮肤!小皮球只会玩N个英雄,因此,他也只 ...
- log4net 单独项目
首先参考:http://blog.csdn.net/feiying008/article/details/45440547 有时,我们需要将日志功能作为单独模块,用来以后嫁接到其他项目. 今天就来看看 ...