條件語句
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;
}
}
