標籤:i++ 判斷 相同 常量 als break undefined 選擇 char
1.求正數和
要求:輸入十個數字,求出其中正數個數和正數和,輸入999結束程式:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var sum=0
var p=0
for(var i=1;i<=10;i++){
var num=parseInt(prompt("請輸入第"+i+"個數字(輸入999結束程式)" ))
if(num==999)break;
else if(num<0)continue;
else sum=sum+num,p=p+1;
}
document.write("程式終止,結果為"+sum+"個數為"+p)
</script>
</head>
<body>
</body>
</html>
2.求日期
要求:輸入年份、月份、日期求出是該年的第幾天
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var year=parseInt(prompt("請輸入年份"))
var num1=year%4;
var num2=year%100;
var num3=year%400;
var s=28
num1==0&&num2!=0||num3==0?s=29:s=28;
var sum=0
var month=parseInt(prompt("請輸入月份"))
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{var day=parseInt(prompt("請輸入日期(1-31)"))
if(day>=1&&day<=31) day=day
else document.write("日期輸入錯誤")
}
else if(month==4||month==6||month==9||month==11)
{var day=parseInt(prompt("請輸入日期(1-30)"))
if(day>=1&&day<=30) day=day
else document.write("日期輸入錯誤")
}
else if(month==2)
{var day=parseInt(prompt("請輸入日期(1-"+s+")"))
if(day>=1&&day<=s) day=day
else document.write("日期輸入錯誤")
}
else document.write("月份輸入錯誤")
for(var i=1;i<month;i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
sum+=31;
}else if(i==4||i==6||i==9||i==11){
sum+=30;
}else if(i==2){
sum+=s;
}
}
document.write(year+"年"+month+"月"+day+"日為該年的第"+(sum+day)+"天")
</script>
</head>
<body>
</body>
</html>
3.常見javascript邏輯語句
【if-else結構】
1、結構寫法:
if(判斷條件){
//條件為true時執行
}else{
//條件為false時執行
}
2、if()中的運算式,運算之後的結果應該為:
① Boolean: true 真false 假
② String:非Null 字元串為真Null 字元串為假
③ Number:0為假一切非0,均為真
④ Null/NaN/Undefined: 全為假
⑤ Object:全為真
3、else{}結構,可以根據具體情況省略;
var num = {};
if(num){
//條件為true時執行
document.write("if條件成立");
}else{
//條件為false時執行
document.write("if條件不成立");
}
// num<10?document.write("if條件成立"):document.write("if條件不成立");
【多重if、階梯if】
1、結構寫法:
if(條件一){
// 條件一成立
} else if(條件二){
// 條件一不成立&&條件二成立
// else-if 部分,可以有N多個
} else{
// 條件一不成立&&條件二不成立
}
2、多重if結構中,各個判斷條件是互斥的!只能選擇其中一條路。
3、if/else的{}可以省略,但是一般不提倡;
如果省略{} 則,if/else結構包含的代碼,僅為其後最近的一行(分號結束);
如果省略{} 則,else結構永遠屬於其前方最近的一個if結構。
var num2 = 5;
if(num2>5){
document.write("輸入過大");
} else if(num2<5){
document.write("輸入過小");
} else if(num2==5){
document.write("輸入正確");
}
if(num2==5) document.write("輸入過大");
if(num2==5) document.write("輸入過大");
else document.write("11");
document.write("22");
【嵌套if結構】
1、結構寫法:
if(條件一){
// 條件一成立
if(條件二){
// 條件一成立&&條件二也成立
}else{
// 條件一成立&&條件二不成立
}
}else{
//條件一不成立
}
2、if結構可以多重嵌套,但是原則上不超過3層
【Switch-Case結構】
1、結構寫法:
switch(運算式){
case 常量運算式1:
語句1;
break;
case 常量運算式2:
語句2;
break;
……
default:
語句N
break;
}
2、注意事項:
① switch()中的運算式,以及每個case後面的運算式,可以為任何JS支援的資料類型(對象和數組不行);
② case後面的所有常量運算式,必須各不相同,否則只會執行第一個;
③ case後的常量可以是任何資料類型;同一個switch結構的不同case,可以是多種不同的資料類型;
④ switch在進行判斷的時候,採用的是全等判斷===。
⑤ break的作用:執行完case代碼後,跳出當前switch結構;
缺少break的後果:從正確的case項開始,依次執行所有的case和default。原因:⑥↓
⑥ switch結構在判斷時,只會判斷一次正確答案,當遇到正確的case項後,將會不再判斷後續項目。依次往下執行。
⑦ switch結構的執行速率要快於多重if結構。在多路分支時,可優先考慮使用switch結構。
var num4 = 5;
switch (num4){
case 4:
document.write("這是9的case塊!");
//break;
case 5:
document.write("這是10的case塊!");
//break;
case 6:
document.write("這是11的case塊!");
//break;
default:
document.write("這是default的case塊!");
break;
}
javascript程式案例