麻辣家族討論版版's Archiver

小誌 發表於 2010-5-9 17:48

(教學第4篇)JavaScript 條件判斷敘述if

[color=DarkOrange][size=5][b]條件判斷敘述if[/b][/size][/color]
if判斷敘述是我們最常用來讓程式轉彎的判斷敘述,它的通用格式是:[code]If  (條件式)
{
     程式敘述
}[/code]它的意義是:如果[color=Blue]『條件式』[/color]成立(評估值為True),就執行大括號『[color=Red]{}[/color]』之間的程式敘述,不然的話就跳過大括號『[color=Red]{}[/color]』之間的程式敘述,繼續執行大括號『[color=Red]{}[/color]』之後的程式敘述。

[color=Green][size=4][b]實做學習[/b][/size][/color]
設計一JavaScript程式,將瀏覽者開始瀏覽網頁的時間顯示在網頁中,若瀏覽時間介於早上9點至下午5點時,則同時在網頁中顯示”現在是上班時間”:[code]<Script LANGUAGE="JavaScript">
begintime = new Date();
beginhours=begintime.getHours();
beginminutes=begintime.getMinutes();
beginseconds=begintime.getSeconds();
document.write(beginhours+"時"+beginminutes+"分"+beginseconds+"秒<br>");
if  (beginhours>=9  && beginhours<=17)
{
document.write("現在是上班時間");
}
</Script>[/code]原始碼中的『>=』符號及『<=』符號為比較運算子『大於等於』與『小於等於』,用來比較變數beginhours和數值9與15的大小,而『&&』符號則為邏輯運算子是『並且』的意思,如果變數beginhours大於等於9並且小於等於15則回傳True值,大括號『{}』之間的程式敘述就會被執行,反之,在大括號『{}』之間的程式敘述就不會被執行。


[color=Green][size=4][b]實做學習[/b][/size][/color]
之前我們已經介紹過日期物件Date(),同時也告知了擷取相關時間與日期的方法,當我們使用這些方法時,它們所回應的是一個數字,現在就請你利用if判斷敘述將getDay()方法所回應的數字轉換為正確的星期名稱:[code]<BODY>
今天是:
<Script LANGUAGE="JavaScript">
now = new Date()
weekday=now.getDay()

if  (weekday == 0)
{document.write("星期天")}
if  (weekday == 1)
{document.write("星期一")}
if  (weekday == 2)
{document.write("星期二")}
if  (weekday == 3)
{document.write("星期三")}
if  (weekday == 4)
{document.write("星期四")}
if  (weekday == 5)
{document.write("星期五")}
if  (weekday == 6)
{document.write("星期六")}

</Script>
</BODY>[/code][color=DarkOrange][size=5][b]if- else條件判斷敘述[/b][/size][/color]
if- else敘述的意思是說:「如果…就做…否則就….。」,也就是當比較式成立時做某事,比較式不成立時就做另外一件事。
在我們上一實作學習裡:若瀏覽時間介於早上9點至下午5點時,則在網頁中顯示”現在是上班時間”;若瀏覽者並不是在早上9點至下午5點時這段時間瀏覽網頁,那就不會在網頁中顯示”現在是上班時間”; 若我們希望不是在早上9點至下午5點這時段瀏覽時會顯示”現在是快樂時光”,那我們該如何做呢?或許你會說:就再加一個if敘述來判斷就行了! 不用這麼麻煩啦!使用if-else條件判斷敘述就行了啦![code]If  (條件式)
{   條件式成立的程式敘述}
else
{ 條件式不成立的程式敘述}[/code][color=Green][size=4][b]實做學習[/b][/size][/color]
設計一JavaScript程式,將瀏覽者開始瀏覽網頁的時間顯示在網頁中,若瀏覽時間介於早上9點至下午5點時,則同時在網頁中顯示”現在是上班時間”;若非瀏覽時間在早上9點至下午5點時,則在網頁中顯示” 現在是快樂時光”:
[attach]156[/attach][code]<BODY>
現在時間是:
<Script LANGUAGE="JavaScript">
begintime = new Date();
beginhours=begintime.getHours();
beginminutes=begintime.getMinutes();
beginseconds=begintime.getSeconds();
document.write(beginhours+"時"+beginminutes+"分"+beginseconds+"秒<br>");
if  (beginhours>=9  && beginhours<=17)
{
document.write("現在是上班時間");
}
else
{
document.write("現在是快樂時光");
}
</Script>
</BODY>[/code][color=DarkOrange][size=5][b]  ? - :[/b][/size][/color]
if-else判斷敘述其實還有分身喔!如果你覺得if-else判斷敘述不滿意你覺得太麻煩,那我們可以改用下列格式的寫法:[code] (條件式) ? 條件式成立的敘述 : 條件式不成立的敘述[/code]例如:[code]Now = (x>12) ? “現在是下午” : “現在是上午”[/code]上例:now變數的內容當x大於12時則為”現在是下午”,若x小於於12時則為”現在是上午”

[color=Green][size=4][b]實做學習[/b][/size][/color][code]<BODY>
現在時間是:
<Script LANGUAGE="JavaScript">
begintime = new Date();
beginhours=begintime.getHours();
beginminutes=begintime.getMinutes();
beginseconds=begintime.getSeconds();
document.write(beginhours+"時"+beginminutes+"分"+beginseconds+"秒<br>");
x=(beginhours>=9 && beginhours<=17) ? "現在是上班時間" : "現在是快樂時光";
document.write(x);
</Script>
</BODY>[/code]

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供