WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:javascriptについて

0:[投稿] kougamiteru [2002/02/25 18:32 ][環境:WIN+IE UNIX系+Perl]

if(anata == "inu" || anata == "neko" || anata == "saru") {処理}

というのは

if(anata == "inu" || "neko" || "saru"){処理}

でも同じ結果を得られますか?


1:[回答] andi [2002/02/25 18:39 ]

試せば良いのでは?


2:[回答] kougamiteru [2002/02/25 18:47 ]

あ、試したところ、正常な動作をしたのですが、
anata == "inu"
anata == "neko"
anata == "saru"のいづれかがtrueなら処理するという内容に対して下の方は

anata == "inu"
"neko"が存在するかどうか
"saru"が存在するかどうか
とも解釈できますよね。

そこを聞きたかったのです。
また、同じ結果を得られないなら、他に短縮形のようなものはありますか??教えてください。


3:[回答] ween [2002/02/25 19:42 ]

if(anata == "inu" || "neko" || "saru"){処理} は

anata == "inu"
"neko"
"saru"

のどれかが真であれば処理をします。
"neko" や "saru" のような空でない文字列はどう転んでも真になるので
anata が "uma" が "kaeru" だろうが if 文の中身は実行されます。

短く書きたいなら正規表現でやるとか、ですかね。
if ( anata.match(/^inu|neko|saru$/) ){ 処理 }


4:[回答] ween [2002/02/25 19:51 ]

>>3 の訂正。
× anata が "uma" が "kaeru" だろうが
○ anata が "uma" だろうが "kaeru" だろうが


5:[完了] kougamiteru [2002/02/26 09:55 ]

ありがとうございます。
理解しました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World