一.基本结构:for(起始状态;判断条件;状态改变){

        执行语句;

        }

执行顺序:for(var i=1;i<3;i++){

alert(i);

}

1.判断条件    2.执行语句    3.状态改变

break(结束此循环).continue(跳过本次循环,开始下个循环)

二.例:

  1.输出100 以内与7相关的数 

                <script type="text/javascript">
var str = '';
for(var i = 1; i <= 100; i++) {
if(i % 7 == 0 || i % 10 == 7 || (i > 70 && i < 80)) {
str += i + ',';
}
}
alert(str);
</script>

 

  2.累加求和 100 以内所有数相加  

                <script type="text/javascript">
var sum = 0;
     for(var i = 1; i <= 99; i++) {
       sum += i;
     }
      alert(sum);
</script>

 

 3.求阶乘 100 以为所有数相乘

                <script type="text/javascript">
var sum = 1;
for(var i = 1; i <= 100; i++) {
sum *= i;
}
alert(sum);
</script>

  4.输出乘法口诀表

            <script type="text/javascript">
for(var j = 1; j <= 9; j++) {
var str_ln = '';
for(var i = 1; i <= j; i++) {
str_ln += i + '*' + j + ' ';
}
document.write(str_ln + '<br/>');
}
</script>

  5.棋盘存放粮食输出总和 

       <script type="text/javascript">
var count = 1;
var sum = 0;
for(var i =1;i<=64;i++){
sum += count;
count *= 2;
}
alert(sum);
</script>

  

6.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几个月后有多少对兔子,幼兔、小兔、成兔对数分别是多少。

  幼兔 1 小兔 0 成兔 0
  幼兔 0 小兔 1 成兔 0
  幼兔 1 小兔 0 成兔 1
  幼兔 1 小兔 1 成兔 1
  幼兔 2 小兔 1 成兔 2
  幼兔 3 小兔 2 成兔 3
  幼兔 5 小兔 3 成兔 5

  当前月份幼兔 = 上个月的成兔+上月小兔
  当前月份小兔 = 上月幼兔
  当前月份成兔 = 上月成兔+上月小兔  

                <script type="text/javascript">
   var n=prompt("请输入第几个月");
     var yt = 1;
     var xt = 0;
     var ct = 0;
     for(var month = 1; month <= n; month++) {
        var pre_yt = yt;
       var pre_xt = xt;
       var pre_ct = ct;        yt = pre_ct + pre_xt;
        xt = pre_yt;
       ct += pre_xt;
     }
       alert(yt + ','+ xt + ','+ ct);
</script>

  7..羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能()羽毛球拍最多买13个 球最多买66个 水最多买100个)

  

         <script type="text/javascript">
var cont=0;
for(var i = 1; i <= 13; i++) {
for(var j = 1; j <= 61; j++) {
for(var k = 1; k <= 91; k++) {
if((i*15 + j*3 + k*2) <= 200){
cont+=1;
}
}
}
}
alert(cont);
</script>

死循环:while(true){

  if(判断){

    break;

  }

}

例:1.蓝球弹起的高度 100 米,每次弹起是原来高度的0.6倍, 第几次高度小于1米?

               <script type="text/javascript">
var count = 0;
     var height = 100;
     while(true) {
     count++;
     height *= 0.6;
      if(height <= 1){
       break;
       }
      }
       alert(count);
</script>

  2.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米

  

               <script type="text/javascript">
var count =0;
     var paper_height = 0.0001;      while(true){
     count++;
     paper_height *= 2;
    if(paper_height >= 8848){
       break;
     }
     }      
       alert(count);
</script>

如何快速理解JavaScript 中重要语句for循环的更多相关文章

  1. 理解 JavaScript 中的 for…of 循环

    什么是 for…of 循环 for...of 语句创建一个循环来迭代可迭代的对象.在 ES6 中引入的 for...of 循环,以替代 for...in 和 forEach() ,并支持新的迭代协议. ...

  2. 深入理解JavaScript中创建对象模式的演变(原型)

    深入理解JavaScript中创建对象模式的演变(原型) 创建对象的模式多种多样,但是各种模式又有怎样的利弊呢?有没有一种最为完美的模式呢?下面我将就以下几个方面来分析创建对象的几种模式: Objec ...

  3. 深入理解javascript中执行环境(作用域)与作用域链

    深入理解javascript中执行环境(作用域)与作用域链 相信很多初学者对与javascript中的执行环境与作用域链不能很好的理解,这里,我会按照自己的理解同大家一起分享. 一般情况下,我们把执行 ...

  4. 理解javascript中的策略模式

    理解javascript中的策略模式 策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换. 使用策略模式的优点如下: 优点:1. 策略模式利用组合,委托等技术和思想,有效 ...

  5. 理解javascript中的回调函数(callback)【转】

    在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...

  6. 深入理解JavaScript中的作用域和上下文

    介绍 JavaScript中有一个被称为作用域(Scope)的特性.虽然对于许多新手开发者来说,作用域的概念并不是很容易理解,我会尽我所能用最简单的方式来解释作用域.理解作用域将使你的代码脱颖而出,减 ...

  7. 如何理解T-SQL中Merge语句(二)

    写在前面的话:上一篇写了如何理解T-SQL中Merge语句,基本把Merge语句要讲的给讲了,在文章的后面,抛出了几个结,当时没有想明白怎么去用文字表达,这一篇就来解答一下这几个结,又是一篇“天马行空 ...

  8. 如何理解T-SQL中Merge语句

    写在前面的话:之前看过Merge语句,感觉没什么用,完全可以用其他的方式来替代,最近又看了看Merge语句,确实挺好用,可以少写很多代码,看起来也很紧凑,当然也有别的优点. ====正文开始===== ...

  9. 理解JavaScript中的原型继承(2)

    两年前在我学习JavaScript的时候我就写过两篇关于原型继承的博客: 理解JavaScript中原型继承 JavaScript中的原型继承 这两篇博客讲的都是原型的使用,其中一篇还有我学习时的错误 ...

随机推荐

  1. Servlet+Tomcat日志输出

    刚接触Servlet的时候,为了学习方便总是想验证自己的想法,那么输出日志是最常见的手法了,就自己亲身经历总结了如下几种方法,我用的是Web容器是Tomcat. 使用Log4J 在<Servle ...

  2. 彻底理解Promise对象——用es5语法实现一个自己的Promise(上篇)

    本文同步自我的个人博客: http://mly-zju.github.io/ 众所周知javascript语言的一大特色就是异步,这既是它的优点,同时在某些情况下也带来了一些的问题.最大的问题之一,就 ...

  3. 每天一个Linux命令 3

    Linux grep命令详解: grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一 ...

  4. swift -- 基础

    swift -- 基础 1.常量和变量 常量: let 变量: var 2.声明常量和变量 常量的声明: let let  a = 1         //末尾可以不加分号,等号两边的空格必须对应(同 ...

  5. JVM-Java程序性能监控-初级篇

    前篇 - 小伙们都知道,java程序的性能监控主要是针对jvm中heap的监控~ 那么在做压力测试时如何对heap.线程等一系列的指标进行的监控的呢? 首先-你若不懂命令,那么就需要了解一套Java程 ...

  6. 原生ajax详解

    Ajxa局部刷新用于提高用户体验.Ajax技术的核心是XMLHttpRequest对象(简称XHR) XMLHttpRequest对象 XMLHttpRequest对象在ie7及更高版本可以这样申明. ...

  7. iOS开发RunLoop

    最近处于离职状态,时间也多了起来,但是学习还是不能放松,今天总结一下RunLoop,RunLoop属于iOS系统层的东西,还是比较重要的. 一.什么是RunLoop 字面意思看是跑圈,也可以看作运行循 ...

  8. 腾讯.NET面试题

    在整个面试过程中,作为面试者的你,角色就是小怪兽,面试官的角色则是奥特曼,更不幸的是,作为小怪兽的你是孤身一人,而奥特曼却往往有好几个~ 以下是网友发的关于腾讯的.NET面试题,不得不说还是有一定的难 ...

  9. 玩转Node.js单元测试

    代码部署之前,进行一定的单元测试是十分必要的,这样能够有效并且持续保证代码质量.而实践表明,高质量的单元测试还可以帮助我们完善自己的代码.这篇博客将通过一些简单的测试案例,介绍几款Node.js测试模 ...

  10. 输入输出流类iostream常用函数解析

    原创作品,转载请注明出处:http://www.cnblogs.com/shrimp-can/p/5657192.html 一.成员类型 1. ios::fmtflags: 格式标志,常用来设置输出的 ...