- ベストアンサー
宣言されていない「ad」・・・?????
時間によってリンク先が変わるJavaScriptを使ったページを作りました。・・・が、どうもうまく作動しません。 出る表示は、「ad」は宣言されていません、というもの。 こ、これは一体何なんでしょう?! デバックすることもできません。 <SCRIPT LANGUAGE="JavaScript"> <!-- d=new Date(); h=d.getHours(); // 0~4時の間の転送先アドレス if (h >= 0 && h <= 4) { ad = "http://"; } 略 location.href=ad; // --> </SCRIPT> というものです。 どうすればいいんでしょうか?! XPに変えてから、JAVAがらみのトラブルが多くて、参ってます・・・。助けてください。教えてください!!よく判ってないので、ぜひ!!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
noname#3345
回答No.3
原因は先のお二方が書かれているとおりです。 if文に入らなかった場合のエラーですね。 elseで分岐してもいいですが、functionの最初に var ad=""; と、変数をあらかじめ初期化して置いた方が簡単ですよ。 変数はあらかじめ初期化しておくクセをつけておく方がいいかもしれません。
- ittochan
- ベストアンサー率64% (2667/4137)
回答No.1
if (h >= 0 && h <= 4) { ad = "http://"; } ここなんですが、 (h >= 0 && h <= 4) の条件がtrueなときに ad = "http://"; が実行されます。 adはこの時に宣言されているので、 条件がfalseのときは、宣言されないんですね。
質問者
お礼
ご回答ありがとうございました!
お礼
二度にわたっての、詳しい回答、ありがとうございました! すこし判らないところがあるのですが・・・ falseにしても、trueであったとしても、その時間帯にはこのページに、と思った場合は、「o(´^`)o ウー」(←可愛いです(笑))「ヘ(・、ヘ)ホイホイ(ノ、・)ノホイホイ」どちらにも、同じアドレスを入れておくべきなんでしょうか。 同様に、elseで分岐させた場合にも、同じことが言える、ということでしょうか・・??? すみませんが、教えていただけると嬉しいです!!