標題:
[教學]
(教學第4篇)JavaScript 條件判斷敘述if
[打印本頁]
作者:
小誌
時間:
2010-5-9 17:48
標題:
(教學第4篇)JavaScript 條件判斷敘述if
條件判斷敘述if
if判斷敘述是我們最常用來讓程式轉彎的判斷敘述,它的通用格式是:
If (條件式)
{
程式敘述
}
複製代碼
它的意義是:如果
『條件式』
成立(評估值為True),就執行大括號『
{}
』之間的程式敘述,不然的話就跳過大括號『
{}
』之間的程式敘述,繼續執行大括號『
{}
』之後的程式敘述。
實做學習
設計一JavaScript程式,將瀏覽者開始瀏覽網頁的時間顯示在網頁中,若瀏覽時間介於早上9點至下午5點時,則同時在網頁中顯示”現在是上班時間”:
<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>
複製代碼
原始碼中的『>=』符號及『<=』符號為比較運算子『大於等於』與『小於等於』,用來比較變數beginhours和數值9與15的大小,而『&&』符號則為邏輯運算子是『並且』的意思,如果變數beginhours大於等於9並且小於等於15則回傳True值,大括號『{}』之間的程式敘述就會被執行,反之,在大括號『{}』之間的程式敘述就不會被執行。
實做學習
之前我們已經介紹過日期物件Date(),同時也告知了擷取相關時間與日期的方法,當我們使用這些方法時,它們所回應的是一個數字,現在就請你利用if判斷敘述將getDay()方法所回應的數字轉換為正確的星期名稱:
<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>
複製代碼
if- else條件判斷敘述
if- else敘述的意思是說:「如果…就做…否則就….。」,也就是當比較式成立時做某事,比較式不成立時就做另外一件事。
在我們上一實作學習裡:若瀏覽時間介於早上9點至下午5點時,則在網頁中顯示”現在是上班時間”;若瀏覽者並不是在早上9點至下午5點時這段時間瀏覽網頁,那就不會在網頁中顯示”現在是上班時間”; 若我們希望不是在早上9點至下午5點這時段瀏覽時會顯示”現在是快樂時光”,那我們該如何做呢?或許你會說:就再加一個if敘述來判斷就行了! 不用這麼麻煩啦!使用if-else條件判斷敘述就行了啦!
If (條件式)
{ 條件式成立的程式敘述}
else
{ 條件式不成立的程式敘述}
複製代碼
實做學習
設計一JavaScript程式,將瀏覽者開始瀏覽網頁的時間顯示在網頁中,若瀏覽時間介於早上9點至下午5點時,則同時在網頁中顯示”現在是上班時間”;若非瀏覽時間在早上9點至下午5點時,則在網頁中顯示” 現在是快樂時光”:
[attach]156[/attach]
<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>
複製代碼
? - :
if-else判斷敘述其實還有分身喔!如果你覺得if-else判斷敘述不滿意你覺得太麻煩,那我們可以改用下列格式的寫法:
(條件式) ? 條件式成立的敘述 : 條件式不成立的敘述
複製代碼
例如:
Now = (x>12) ? “現在是下午” : “現在是上午”
複製代碼
上例:now變數的內容當x大於12時則為”現在是下午”,若x小於於12時則為”現在是上午”
實做學習
<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>
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)