條件語句
if語句塊的語法形式如下:
//只有兩種情況下if(條件){要執行的語句塊;}else{要執行的語句塊;}
//多種情況下if(條件){要執行的語句塊;}else if(條件){要執行的語句塊;}else{要執行的語句塊;}
switch 語句的語法形式如下:
switch(表達式){case 值1:執行的語句塊;break;case 值2:執行的語句塊;break;case 值3:執行的語句塊;break;
default:執行的語句塊;}
練習:
<script> //1.提示用戶輸入需要的商品 var goods = prompt("用戶輸入需要的商品") //2.對商品進行處理 switch (goods){ case "漢堡": document.write("您要的商品是漢堡,請付15元"); alert("您要的商品是漢堡,請付15元"); break; case "可樂": document.write("您要的商品是可樂,請付10元"); alert("您要的商品是可樂,請付10元"); break; case "雞米花": document.write("您要的商品是雞米花,請付25元"); alert("您要的商品是雞米花,請付25元"); break; default: document.write("請輸入正確商品"); alert("請輸入正確商品"); break; } </script>
循環語句
for(表達式1;表達式2;表達式3){循環體語句;} 提示:當循環次數確定的情況下,一般使用for循環。相比while和do while語法更簡潔。
break直接終止循環,continue結束本次循環而直接進入下一次循環。
for…in 的基本結構 for(變量 in 對象){執行的語句塊;}
while條件表達式){循環執行的代碼} 時機 :一個動作被重復執行到滿足某個條件時
do-while do{循環執行的代碼}while(條件表達式); 時機:希望一個動作至少被執行一次
練習1表格
代碼
<script type="text/javascript"> document.write("<table border='1'>") for (var i = 0; i < 4; i++) { document.write("<tr>"); for (var j = 0; j < 3; j++) { document.write("<td>"+j+"</td>"); } document.write("</tr>"); } </script>
效果
練習二99乘法口訣
代碼:
<script type="text/javascript"> for (var i = 1; i < 10; i++) { for (var j= 1; j <= i; j++) { var c=i*j; document.write(j+"*"+i+"="+c+" "); } document.write("<br>"); } </script>
效果:
練習三
代碼:
<script type="text/javascript"> for (var i = 1; i > 0; i++) { var aa = prompt("請輸入密碼"); var bb = "000000"; if (aa === bb) { break; } else if (i <= 3) { continue; } else { alert("密碼錯誤請取卡"); } } var cc = prompt("請輸入取款金額"); for (var i = 1; i > 0; i++) { if (cc >= 100 && cc < 1000 && cc % 100 == 0) { document.write(cc); break; } else { var cc = prompt("請重新輸入取款金額"); } } alert("交易完成請取卡"); </script> <!--改進后 --> <script type="text/javascript"> for (var i = 1; i > 0; i++) { var aa = prompt("請輸入密碼"); var bb = "000000"; if (aa === bb) { var cc = prompt("請輸入取款金額"); for (var i = 1; i > 0; i++) { if (cc % 100 == 0 && cc < 1000 && cc > 0) { document.write(cc); break; } else { var cc = prompt("請重新輸入取款金額"); } } alert("交易完成請取卡"); } else if (i > 2) { alert("密碼錯誤請取卡"); } }
//第三種
for (var i = 1; i > 0; i++) {
var aa = prompt("請輸入密碼");
var bb = "000000";
if (aa === bb) {
var cc = prompt("請輸入取款金額");
if (cc % 100 == 0 && cc < 10000 && cc > 0) {
document.write("請拿好現金"+cc);
} else {
var cc = prompt("請重新輸入取款金額");
}
alert("交易完成請取卡");
} else if (i > 2) {
alert("密碼錯誤請取卡");
break;
}
}
</script>
練習四5
籃球從5米高的地方掉下來,每次彈起的高度是原來的30%,經過幾次彈起,籃球的高度是0.1米 結果4;
代碼:
var hh=5; var ci=0; while (true){ hh=hh*0.3; ci++; if (hh<=0.1) { document.write(ci); break; } }
練習五 折紙多少次超過喜馬拉雅山高度(紙厚度0.1mm) 結果27
代碼:
var hh1=0.0001; var ci1=0; while (true){ hh1=hh1*2; ci1++; if (hh1>=8848) { document.write(ci1); break; } }
練習六 公園里有一只猴子和一堆桃子,猴子每天吃掉桃子總數的一半,把剩下一半中扔掉一個壞的。到第七天的時候,猴子睜開眼發現只剩下一個桃子。問公園里剛開始有多少個桃子? 結果190
代碼:
var n=1; for (var i = 7; i >1; --i) { n=2*(n+1); } document.write(n+"<br>");
練習七 有一個棋盤,有64個方格,在第一個方格里面放1粒芝麻重量是0.00001kg,第二個里面放2粒,第三個里面放4,求棋盤上放的所有芝麻的重量 結果184467440737095.5kg
代碼:
var sum=0,count; var i=1; count=1; while(i<65){ i++; sum=sum+count*0.00001; count=count*2; } document.write(i+"&&"+sum+"<br />");
練習八 假設某人有100,000現金.每經過一次路口需要進行一次交費. 交費規則為當他現金大於50,000時每次需要交5%如果現金小於等於50,000時每次交5,000.請寫一程序計算此人可以經過多少次這個路口 結果24
代碼:
var mm=100000, j=0; while(true){ j++; if (mm>50000) { mm=mm-mm*0.05; } else if(mm>=5000){ mm=mm-5000; } else{ document.write(j+"<br/>"); document.write(mm); break; } }