3.循環
循環是操作某一個功能(執行某段代碼)。
①循環四要素:
a 循環初始值
b 循環的條件
c 循環狀態
d 循環體
②for循環
a 窮舉:把所有的可能性的都一一列出來。
b 迭代:每次循環都會把原來的數拿到循環里面用。
for(var i=0;i<10;i++) { alert(i); }
這是一個最簡單的for循環,循環體運行的步驟是:i=0--i<10--執行alert--輸出0--執行i++ --i=1--i<10--執行alert--輸出1---依次輸出到9(i<10),此循環輸出完畢。
執行循環步驟:先執行初始值--條件判斷--循環體--狀態改變--條件判斷--循環體--狀態改變--條件判斷--.........直到循環完。
i++和++i的區別:單獨使用是效果是一樣的,但是如果給i賦值的話就有區別了。
i++等價於i=i+1 var a = 0; var b = a++; 就相當於 var b = a; a = a+1;
++i等價於i=i+1 var a = 0; var b = ++a; 就相當於 a = a+1; var b = a; |
示例一 輸出100以內的奇數偶數
var js = ""; 存放奇數 var os = ""; 存放偶數 for(var i=1;i<100;i++); { if(i%2 == 0) { os = os+i+"|"; } else { js = js+i+"|" } }
示例二 取100以內的與7相關的數字
var s =""; for(var i=0;i<100;i++) { if(i%7==0 || i%10==7 ||parseInt(i/10)==7) { s = s+i+"|"; } } alert(s);
示例三 100以內的整數累加求和
var sum = 0; for(var i=0;i<100;i++) { sum = sum +i; } alert(sum);
示例四:求10以內的階乘
var jc = 1; for(var i=1;i<10;i++) { jc = jc*i; } alert(jc);
示例5:輸出乘法口訣表
var s =""; for(var i=1;i<10;i++) { for(var j=1;j<10;j++) { if(j>=i) { var cj = i*j s = s+i+"乘以"+j+"等於"+cj+"|"; } } }
alert(s);
③ while循環
while(ture)
{ }
示例6:籃球從5米高的地方掉下來,每次彈起的高度是原來的30%,經過幾次彈起,籃球的高度是0.1米。
var gd = 5; var cs = 0; while(true) { cs++; gd = gd*0.3 if(gd<0.1) { break; } } alert(cs);
while語句中,break是跳出整個循環,continue是跳出本次循環。
示例7:有一個盤,有64個方格,在第一方格里放1粒芝麻,重量是0.00001kg,第二個里面放2粒,第三個里面放4粒,以此類推,請問這64個方格里面的芝麻的總重量。
var z1 =0; for(var i=1;i<65;i++) { var s1 = 1; for(var j=0;j<i-1;j++) { s1 = s1*2; } z1 = z1+s1; } var zhong = z1*0.00001; alert(zhong);