如何快速理解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>    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM