プロが教える店舗&オフィスのセキュリティ対策術

swichをを繰り返し書きたくないのですが
C言語の#defineといったような機能はJSにはないのでしょうか?
"off.jpg"も2箇所で使われていますがこれについてもメンテのために一箇所に指定のですがこちらも定義できるでしょうか?


<script language="JavaScript">
var on=new Image();
var off=new Image();
on.src="on.jpg";
off.src="off.jpg";
function tooff(img)
{
if(img=="swich")document.images[img].src=off.src;
}
function toon(img)
{
if(img=="swich")document.images[img].src=on.src;
}
</script>
<a href="gomi.htm" onmouseout="tooff('swich')" onmouseover="toon('swich')">
<img src="off.jpg" name="swich" width="99" height="99"/>
</a>

A 回答 (1件)

javascriptでは、Cでの#defineのようなプリプロセッサ指令はありません。


また、const(予約語ではある)指定もできないので、
変更できない変数というのも定義はできません。
(watchを使うことで、変更を捕まえて値を再設定はできる)
まあ、#define的に使うには、大域変数として定義すればイイと思います。
>"off.jpg"も2箇所で使われていますが
HTML部分とscript部分を同様に扱うことはできません。
もし(スクリプトで)"一箇所に指定"したいのであれば、
スクリプト側で大域変数を定義して
document.writeを使って、<img>の部分を書き出すスクリプトを<img>の
部分に書きます。
(または、onload時に動的に設定し直すとか)
でも、そのようにした場合、スクリプトを禁止しているユーザーでは閲覧できなくなるので、止めた方がいいです。
    • good
    • 0
この回答へのお礼

ありがとうございます
スクリプトを使わない人のことを考えると無いと言う結論ですね

お礼日時:2005/10/31 17:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!