2019年2月10日 星期日

(04)JavaScript 條件判斷敘述if

條件判斷敘述if
if判斷敘述是我們最常用來讓程式轉彎的判斷敘述,它的通用格式是:
  1. If  (條件式) 
  2. {
  3.      程式敘述
  4. }
它的意義是:如果『條件式』成立(評估值為True),就執行大括號『{}』之間的程式敘述,不然的話就跳過大括號『{}』之間的程式敘述,繼續執行大括號『{}』之後的程式敘述。

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

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

  6. if  (weekday == 0)
  7. {document.write("星期天")}
  8. if  (weekday == 1)
  9. {document.write("星期一")}
  10. if  (weekday == 2)
  11. {document.write("星期二")}
  12. if  (weekday == 3)
  13. {document.write("星期三")}
  14. if  (weekday == 4)
  15. {document.write("星期四")}
  16. if  (weekday == 5)
  17. {document.write("星期五")}
  18. if  (weekday == 6)
  19. {document.write("星期六")}

  20. </Script>
  21. </BODY>

if- else條件判斷敘述
if- else敘述的意思是說:「如果…就做…否則就….。」,也就是當比較式成立時做某事,比較式不成立時就做另外一件事。
在我們上一實作學習裡:若瀏覽時間介於早上9點至下午5點時,則在網頁中顯示”現在是上班時間”;若瀏覽者並不是在早上9點至下午5點時這段時間瀏覽網頁,那就不會在網頁中顯示”現在是上班時間”; 若我們希望不是在早上9點至下午5點這時段瀏覽時會顯示”現在是快樂時光”,那我們該如何做呢?或許你會說:就再加一個if敘述來判斷就行了! 不用這麼麻煩啦!使用if-else條件判斷敘述就行了啦!
  1. If  (條件式)
  2. {   條件式成立的程式敘述}
  3. else
  4. { 條件式不成立的程式敘述}
複製代碼
實做學習
設計一JavaScript程式,將瀏覽者開始瀏覽網頁的時間顯示在網頁中,若瀏覽時間介於早上9點至下午5點時,則同時在網頁中顯示”現在是上班時間”;若非瀏覽時間在早上9點至下午5點時,則在網頁中顯示” 現在是快樂時光”:

  1. <BODY>
  2. 現在時間是:
  3. <Script LANGUAGE="JavaScript">
  4. begintime = new Date();
  5. beginhours=begintime.getHours();
  6. beginminutes=begintime.getMinutes();
  7. beginseconds=begintime.getSeconds();
  8. document.write(beginhours+"時"+beginminutes+"分"+beginseconds+"秒<br>");
  9. if  (beginhours>=9  && beginhours<=17)
  10. {
  11. document.write("現在是上班時間");
  12. }
  13. else
  14. {
  15. document.write("現在是快樂時光");
  16. }
  17. </Script>
  18. </BODY>
複製代碼
  ? - :
if-else判斷敘述其實還有分身喔!如果你覺得if-else判斷敘述不滿意你覺得太麻煩,那我們可以改用下列格式的寫法:
  1. (條件式) ? 條件式成立的敘述 : 條件式不成立的敘述
複製代碼
例如:
  1. Now = (x>12) ? “現在是下午” : “現在是上午”
複製代碼
上例:now變數的內容當x大於12時則為”現在是下午”,若x小於於12時則為”現在是上午”

實做學習
  1. <BODY>
  2. 現在時間是:
  3. <Script LANGUAGE="JavaScript">
  4. begintime = new Date();
  5. beginhours=begintime.getHours();
  6. beginminutes=begintime.getMinutes();
  7. beginseconds=begintime.getSeconds();
  8. document.write(beginhours+"時"+beginminutes+"分"+beginseconds+"秒<br>");
  9. x=(beginhours>=9 && beginhours<=17) ? "現在是上班時間" : "現在是快樂時光";
  10. document.write(x);
  11. </Script>
  12. </BODY>

沒有留言:

張貼留言