• ベストアンサー

++<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="" } } //-->

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.5

単位は、強いて言えば「回」でしょうか。 function a() が一回呼ばれるごとに itteijikan は 1 ずつ増えていきますよね。 でその itteijikan が 30 より小さい場合は、 setTimeout("a()",250); を呼んでいるので、250 ミリ秒後に再び a() が実行されます。 つまり 250 ミリ秒ごとに a() が実行されるわけですね。 でも itteijikan が 30 以上の場合は setTimeout を呼びませんから、その後はもう a() は実行されません。 以上まとめると、 250 ミリ秒ごとに a() を実行するんだけど、30 回までで止めたいから、a() が呼ばれた回数を itteijikan を使って数えている。 ということですね。

naomi13
質問者

お礼

重ね重ね、有難うございました!

その他の回答 (4)

  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.4

私より No.2 の方のお答えが正しいですね。 「比較してから itteijikan の値を1増やす」のでした。 失礼しました。

naomi13
質問者

補足

ありがとうございます。それで、単位は何でしょうか?文字数分とか、秒数とかでは表せないのですか?

  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.3

window.status とは、ブラウザの一番下のステータス欄に 文字を表示するためのメソッドです。 これは「ようこそMYホームページへ」という文字列を スクロールさせるためのコードのようですね。 「itteijikan++<30」は空白がないのでわかりにくくなっていますが、 ++(インクリメント)という演算子は変数の値を1増やすことを表します。 従って、問題の式は itteijikan++ < 30 ということで、 「itteijikanの値に1足したものが30に達しなければ」ということになります。 itteijikan(一定時間)の値が30になったらタイムアウトする、ということのようです。

参考URL:
http://www.hotwired.co.jp/webmonkey/97/49/index1.html
naomi13
質問者

お礼

有難うございました!

noname#5537
noname#5537
回答No.2

++<30 ではなくて、 itteijikan++ < 30 です。 itteijikan < 30 の比較をした後に、itteijikan を 1 増やします。 ++itteijikan < 30 だと、比較前に itteijikan を 1 増やします。 ++ はインクリメント演算子といいます。

参考URL:
http://inside.jp/js/ref3.html
naomi13
質問者

補足

ありがとうございます。それで、単位は何でしょうか?文字数分とか、秒数とかでは表せないのですか?

noname#199778
noname#199778
回答No.1

変数itteijikanに1を足してから、30より小さいかどうかを判定しているのではないでしょうか。 「++<30」ではなく、 itteijikan++ < 30 として眺めてみると良いと思います。 間違っていたらごめんなさい。

naomi13
質問者

お礼

有難うございました!

関連するQ&A