Home > イヌでもわかるJavaScript講座 お品書き
イヌでもわかるJavaScript講座 お品書き へ戻ります
イヌでもわかるJavaScript講座


Step.68 - あいさつメッセージを表示する 億劫編


Step.2のあいさつメッセージの億劫編です。
if 文の初歩的な使い方のサンプルです。


Step テーマ
● if 文 の事例

実行例





リスト


<script type="text/javascript"><!--
myH = (new Date()).getHours();//「時」の取得 (0〜23)
if ( myH <= 5 ) myMes = "こんばんは夜中です";// 0時以上5時以下
else if ( myH <= 11 ) myMes = "おはよう朝です";// 6時以上11時以下
else if ( myH == 12 ) myMes = "昼休みです";// 12時
else if ( myH <= 16 ) myMes = "こんにちは昼です";// 13時以上16時以下
else if ( myH <= 18 ) myMes = "こんにちは夕方です";// 17時以上18時以下
else if ( myH <= 23 ) myMes = "こんばんは夜です";// 19時以上23時以下
document.write( myMes );
// --></script>


サンプルだけの HTMLは こちらへ

説明


Step.2で、挨拶文を表示しました。
しかし、1時間単位でメッセージを考えなければならないので、億劫な人には、かなりの肉体労働です。(^^;

そこで、時間帯を決めて、メッセージを少なくしてみます。

if 文を使ってやりましょう。if 文の説明は、Step.8 をご覧くださいませ。
今回は Step は if 文の事例です。

この事例は、いわゆる 範囲条件です。
0時〜5時ならば、6時〜11時ならば、・・・。
そのままの言葉を if 文で書けば、
myH = (new Date()).getHours();//「時」の取得 (0〜23)
if ( myH >= 0 && myH <= 5 ) myMes = "こんばんは夜中です";// 0時以上5時以下
else if ( myH >= 6 && myH <= 11 ) myMes = "おはよう朝です";// 6時以上11時以下
else if ( myH == 12 ) myMes = "昼休みです";// 12時
else if ( myH >= 13 && myH <= 16 ) myMes = "こんにちは昼です";// 13時以上16時以下
else if ( myH >= 17 && myH <= 18 ) myMes = "こんにちは夕方です";// 17時以上18時以下
else if ( myH >= 19 && myH <= 23 ) myMes = "こんばんは夜です";// 19時以上23時以下
document.write( myMes );
です。

この Step では、
myH = (new Date()).getHours();//「時」の取得 (0〜23)
if ( myH <= 5 ) myMes = "こんばんは夜中です";// 0時以上5時以下
else if ( myH <= 11 ) myMes = "おはよう朝です";// 6時以上11時以下
else if ( myH == 12 ) myMes = "昼休みです";// 12時
else if ( myH <= 16 ) myMes = "こんにちは昼です";// 13時以上16時以下
else if ( myH <= 18 ) myMes = "こんにちは夕方です";// 17時以上18時以下
else if ( myH <= 23 ) myMes = "こんばんは夜です";// 19時以上23時以下
document.write( myMes );
としています。
条件の内の左側を省略しています。

myH は 0〜23 以外はあり得ないので、
if ( myH <= 5 )
「5以下か?」で「0〜5か?」と同じ意味となります。

次の else if ( myH <= 11 )
else if は、上からの if 文に該当しない場合に降りてくるわけなので、この段階では すでに「5以下」はあり得ないとなっています。
なので、「11以下か?」は、「6〜11か?」という意味になるわけなのです。

別に、1つ上の例の
if ( myH >= 0 && myH <= 5 )
という書き方は、間違いなのか というと、全然間違いではありません。
逆に、このように書いたほうが、ソースを見ただけで 範囲条件が明確に伝わるし、確実です。

こんな感じで、ひとそれぞれ「それは無駄な書き方だ」「処理が遅くなる」「人にやさしくない」うんぬんと 書き方で こだわり派閥がでてきます。
ちなみに私は、「動けば どうでも いいじゃん派」です。

参考ステップ
Step.2 あいさつ文を表示してみましょう 
Step.8 点滅するメッセージを表示してみましょう ※ if 文の説明


 
イヌでもわかるJavaScript講座 お品書き へ戻ります