如何快速理解JavaScript 中重要语句for循环

一.基本结构: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>
上一篇:Docker快速入门(一)


下一篇:C++ sha256加密(openssl库)