説明
プログラムの流れはいつもの
setInterval()系 のやつです。
おそらく、説明するほどのことはないと思います。
setInterval() で 500ミリ秒単位に myFunc() を呼んで、表示するか、表示を消すか を交互にしているだけです。
-
setInterval("myFunc()", 500);
- setInterval() は、Step.5 参照
-
document.myForm.myFormMes.value = "";
"" は、
ヌルストリングと呼んでいて、これを文字変数に代入すると 中身がカラになるのです。
今回はフォームにセットして、
表示をクリアしたわけです。
フォームの枠が気に入らなければ、CSSでフォームを見えないように変えてやります。
-
<form name="myForm">
<input type="text" size="20" name="myFormMes" style="border-style:none;background-color:#FFEFD5;">
</form>
↓
- border-style : none (枠線を消す)
- background-color : #FFEFD5 (背景色を指定)
今回は
if 文を使ってみました。プログラミングにおいて基本の基本、なくては ならない命令です。
else 文は上の if 文の条件を満たしていなければ、という意味で 上の if 文から連動していくための補助命令です。
-
if (myFlg == 0){
-
document.myForm.myFormMes.value = "いらっしゃいませ!";
myFlg = 1;
}else{
-
document.myForm.myFormMes.value = "";
myFlg = 0;
}
表示するか、表示を消すかを変数 myFlg で判断させることにしました。
myFlg が 0 なら表示、1 なら非表示という感じです。
上記リストでは、
「もしも、myFlg が 0 ならばフォームに "いらっしゃいませ!" を表示、myFlg が 0 以外ならばフォームをクリアする」
という処理で、今回が表示ならば 次回は非表示、今回が非表示ならば 次回は表示なので、それぞれの処理の中に myFlg=1 や myFlg=0 をいれて、次回のために myFlg を反転させています。
● if 文の説明
if 文は説明するより 例を見たほうが早いでしょう。
if 文のパターンは 次の3パターンぐらいです。
- パターン.1 条件に一致したときだけの処理
-
if ( myFlg == 0 ){
-
myMsg = "性別を選択してください";
myError = 1;
}
- パターン.2 条件に一致したときと一致しないときの処理
-
if ( myFlg == 1 ){
}else{
}
- myMsg = ( myFlg == 1 ) ? "男" : "女"; と同じことです
- パターン.3 条件が複数あるときの処理
-
if ( myFlg == 1 ){
}else if ( myFlg == 2 ){
}else if ( myFlg == 3 ){
}else{
}
条件が合えば、{ } の中の処理を行います。
また、条件に対して、1つの処理のみ行う場合は、{ } は省略可能です。
-
if ( myFlg == 1 ) myMsg = "男";
else if ( myFlg == 2 ) myMsg = "女";
else myMsg = "どちらでもない";
● 条件に使う演算子一覧
A > B | AはBより大きい |
A < B | AはBより小さい |
A >= B | AはB以上 |
A <= B | AはB以下 |
A == B | AとBは等しい |
A != B | AとBは等しくない |
A === B | AとBは等しい (型チェックあり) |
A !== B | AとBは等しくない (型チェックあり) |
もちろん、条件がひとつではないケースもでてくるでしょう。「且つ」と「又は」です。
● 論理演算子一覧
条件式A && 条件式B | 条件式A かつ 条件式Bのとき |
条件式A || 条件式B | 条件式A または 条件式Bのとき |
myFlg に性別(1:男 2:女)、myOld に年齢が入っている場合
-
if ( myFlg == 2 || myOld <= 5 ){ // 女性 または 5歳以下であれば
}
-
if ( myFlg == 1 && myOld >= 20 ){ // 男性で かつ 20歳以上であれば
}else if ( myFlg == 2 && myOld >= 20 ){ // 女性で かつ 20歳以上であれば
}else{ // それ以外
}
ちなみにこれは、
-
if ( myOld >= 20 ){
-
if ( myFlg == 1 ){
}else{
}
}else{
}
とも表現できます。if 文の中に if 文があるという記述です。
また、条件が範囲の場合があります。例えば、
myFlg が「1 以上、3 以下の時」という if 文を作りたければ 次のような書き方になります。
-
if (myFlg >= 1 && myFlg <= 3)
- 下のような書き方はできません。
【誤】if ( 1 <= myFlg <= 3 )
もう1つ、myFlg が「1 か 3 か 5 の時」という if 文を作りたければ 次のような書き方になります。
-
if (myFlg == 1 || myFlg == 3 || myFlg == 5)
- 下のような書き方はできません。
【誤】if ( myFlg == 1 || 3 || 5 )
補足:if 文を使った簡単な実例として、Tsep.68「あいさつ文を表示してみましょう 億劫編」があります。ご覧くださいませ。