- ベストアンサー
++<30とは?
あまり良くわかっていないので教えてください。記述の中に++<30というのがあるのですが。これはどういう意味なのでしょうか?時間のカウントだとは思うのですが、単位がわかりません。以下に、ソースを記述しますので、宜しくお願いいたします。 <script language="javascript"> <!-- itteijikan=0 b=0; function a() { b=b+1; if(b>=15) { b=b-15 } c="ようこそMYホームページへ".substr(0,b); window.status=c; if(itteijikan++<30) { setTimeout("a()",250); } else { window.status="" } } //-->
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
単位は、強いて言えば「回」でしょうか。 function a() が一回呼ばれるごとに itteijikan は 1 ずつ増えていきますよね。 でその itteijikan が 30 より小さい場合は、 setTimeout("a()",250); を呼んでいるので、250 ミリ秒後に再び a() が実行されます。 つまり 250 ミリ秒ごとに a() が実行されるわけですね。 でも itteijikan が 30 以上の場合は setTimeout を呼びませんから、その後はもう a() は実行されません。 以上まとめると、 250 ミリ秒ごとに a() を実行するんだけど、30 回までで止めたいから、a() が呼ばれた回数を itteijikan を使って数えている。 ということですね。
その他の回答 (4)
- nightowl
- ベストアンサー率44% (490/1101)
私より No.2 の方のお答えが正しいですね。 「比較してから itteijikan の値を1増やす」のでした。 失礼しました。
補足
ありがとうございます。それで、単位は何でしょうか?文字数分とか、秒数とかでは表せないのですか?
- nightowl
- ベストアンサー率44% (490/1101)
window.status とは、ブラウザの一番下のステータス欄に 文字を表示するためのメソッドです。 これは「ようこそMYホームページへ」という文字列を スクロールさせるためのコードのようですね。 「itteijikan++<30」は空白がないのでわかりにくくなっていますが、 ++(インクリメント)という演算子は変数の値を1増やすことを表します。 従って、問題の式は itteijikan++ < 30 ということで、 「itteijikanの値に1足したものが30に達しなければ」ということになります。 itteijikan(一定時間)の値が30になったらタイムアウトする、ということのようです。
お礼
有難うございました!
++<30 ではなくて、 itteijikan++ < 30 です。 itteijikan < 30 の比較をした後に、itteijikan を 1 増やします。 ++itteijikan < 30 だと、比較前に itteijikan を 1 増やします。 ++ はインクリメント演算子といいます。
補足
ありがとうございます。それで、単位は何でしょうか?文字数分とか、秒数とかでは表せないのですか?
変数itteijikanに1を足してから、30より小さいかどうかを判定しているのではないでしょうか。 「++<30」ではなく、 itteijikan++ < 30 として眺めてみると良いと思います。 間違っていたらごめんなさい。
お礼
有難うございました!
お礼
重ね重ね、有難うございました!