今天在给一个学妹调她的代码BUG时,她的问题就是在一个for循环里不清楚流程的具体流向,所以导致了页面怎么调都是有问题,嗯确实你如果不清楚语句流向很轻易就会出问题,所以说for循环不会用或者说用的不恰当还是很可怕的。我也借此机会顺带复习了一下javascript里的for()循环。翻出了自己以前关于for循环的一些笔记,有些内容跃然浮于脑海中,以下大部分来自很久之前的笔记,可能会有一部分来自于网上其他优秀博客的内容。

for循环里共有三个流程语句,这三个部分之间用";"分开。第一个是一个赋值语句, 它用来给循环控制变量赋初值。第二个,条件表达式是一个关系表达式, 它决定什么时候退出循环。第三个,增量定义循环控制变量每循环一次后,按什么方式变化。

再下来就是一个结构体{},包含着你想用来执行的代码。。大概就是这个样子:for(赋初值语句;循环条件;递增值){语句;}

然后for循环的执行顺序呢如下。

1.赋值语句:只执行一次, 执行完后进到下一步
2.循环条件:用来判断条件是否成立, 如果成立则进行下一步, 不成立则退出整个循环
3.循环体里的内容:如果有break则不执行下面代码, 直接跳出循环。 如果有continue则跳过continue之后的代码, 进行下一步。
4.递增值:用来计算变量。

如果for循环里没有break或者continue语句,则一般结束循环都是在判断完关系表达式后如果不满足条件之后退出循环。

理论上来说,只要外部条件足够,for循环里的三个流程语句都是可以省略掉的。是不是有点害怕~~

1.当在外部有定义循环内所用到的变量时,省略for循环里的定义,则直接用外部全局变量来充当此for循环内的变量。所以经常会看到会有for循环先定义一个全局变量。。

2.当for循环内部语句有包含满足什么情况break后,理论上来说可以省略循环条件。

3.递增值,也可以在for循环结构体内部定义。

所以当有一天你看到了类似这种结构的for循环,请答应我不要吃惊

嗯,貌似没什么说的了。那就先这样。

对了,终于我学会了使用上面那些加花里胡哨的东西,以后博客内容会越来越精彩哦,想想都有点小激动呢。

javascript里for循环的一些事情的更多相关文章

  1. javascript里的循环语句

    前序:我一直对于for跟for..in存在一种误解,我觉得for都能把事情都做了,为啥还要for...in...这玩意了,有啥用,所以今天就说说JavaScript里的循环语句. 循环 要计算1+2+ ...

  2. JavaScript里的循环方法总结

    JavaScript诞生已经有20多年了,我们一直使用的用来循环一个数组的方法是这样的: for (var index = 0; index < myArray.length; index++) ...

  3. JavaScript里的循环方法之forEach,for-in,for-of

    JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标 ...

  4. JavaScript里的循环方法:forEach,for-in,for-of

    JavaScript诞生已经有20多年了,我们一直使用的用来循环一个数组的方法是这样的: for (var index = 0; index < myArray.length; index++) ...

  5. [译] JavaScript 的事件循环

    译者注 本译文基本是按原文的意思来翻译,但对于 JavaScript 的事件循环,个人感觉还是 Philip Roberts 的视频讲解更形象些,思路和本文大致相同,不过他把事件表理解为 Web AP ...

  6. JavaScript里的依赖注入

    JavaScript里的依赖注入 我喜欢引用这句话,“程序是对复杂性的管理”.计算机世界是一个巨大的抽象建筑群.我们简单的包装一些东西然后发布新工具,周而复始.现在思考下,你所使用的语言包括的一些内建 ...

  7. JavaScript 里,$ 代表什么?/JQuery是什么语言?/html中用link标签引入css时的中 rel="stylesheet"属性?/EL表达式是什么?

    JavaScript 里,$ 代表什么? 比如说我写一个mouseover事件: $(document).ready(function(){ $("p").mouseover(fu ...

  8. javascript里的sleep()方法

    很多编程语言里都有sleep(),delay()等方法,它能让我们的程序不那么着急的去执行下一步操作,而是延迟.等待一段时间.软件开发中经常会遇到需要这样的函数,比如等待几分钟去检查某一事件是否发生. ...

  9. javascript递归、循环、迭代、遍历和枚举概念

    javascript递归.循环.迭代.遍历和枚举概念 〓递归(recursion)在数学与计算机科学中,是指在函数的定义中使用函数自身的方法.递归一词还较常用于描述以自相似方法重复事物的过程.例如,当 ...

随机推荐

  1. The storage wars: Shadow Paging, Log Structured Merge and Write Ahead Logging

    The storage wars: Shadow Paging, Log Structured Merge and Write Ahead Logging previous: Seek, and yo ...

  2. cocopods 知识集合 及 一个 好的 国外iOS技术翻译站

    http://www.exiatian.com/cocoapods%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%8F%8A%E9%85%8D%E7%BD%AE%E7% ...

  3. 新策略构思 dual thrust

    根据dual truest的策略,因为是针对日线级别的.同理我们可以根据60分钟级别开发出一套策略,等有时间写在下面

  4. windows定时执行百度新闻爬虫

    想要做个新闻文本识别分类的项目,就先写了个爬取百度新闻的爬虫. 环境:win7 32 bit python3.4 若干第三方库 可以实现的功能:定期按照百度新闻的分类抓取新闻的标题,所属类别及文本内容 ...

  5. POJ 2155 2维线段树 || 2维BIT

    #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> ...

  6. magento jQuery冲突N种方法

    在做修改模板的时候在page中加入jquery库发现原本自带的js冲突 商品无法加入购物车,很多js都没有效果 这是jQuery和magento自带prototype的冲突解决版本有很多种,说个简单点 ...

  7. Qt控件篇 ---- QTableView/QTableWidget

    记录 //按字母排序 item->setText("2"); //按数值排序item->setData(Qt::DisplayRole, 2);

  8. TextView 跑马灯

    首先,写一个类,让其继承自TextView: 重写focus方法,让TextView始终是focus. public class MarqueeText extends TextView { publ ...

  9. mysql数据库 myisam数据存储引擎 表由于索引和数据导致的表损坏 的修复 和检查

    一.mysqlcheck 进行表的检查和修复 1.检查mysqlisam存储引擎表的状态 #mysqlcheck -uuser -ppassword database  table  -c  #检查单 ...

  10. 【Flask】Flask快速玩框架

    最近比较忙 快速玩Flask框架,为微博做些准备 part 1 python程序 from flask importFlask, render_template, session, redirect, ...