2011-09-09 19 views
1

私はjquery初心者です。私は自分の問題を説明する最も単純な方法に自分のコードを煮詰めました。しかし、私はそれを言葉にするのに困っている。if(変数)を渡す文字列を作成する方法

if(var1 && var2){ 
    // this works 
} 

searchMe = var1+" && "+var2; 
if(searchMe){ 
    // this doesn't work 
} 

searchMe = "var1"+" && "+"var2"; 
if(searchMe){ 
    // still doesn't work 
} 

私は、ユーザー入力に基づいて、「searchMe」変数ことを構築できるようにしたいと思います。誰かが私にこれをするよりよい方法を教えてもらえますか?ありがとう!

+0

なぜあなたは単に 'VAR searchMe = VAR1&& var2;'をしないにそれを関連付けるために? –

答えて

1

わからないが、あなたは恐ろしいevalせずにこれを行うための可能な方法eval機能

if(eval(searchMe)){ 
    // this doesn't work 
} 
+1

それは動作します!どうもありがとうございます!ありがとうございましたjoe。 – alex

1

を利用することができますあなたが行くようにだけ評価することである(これは本当に、あなたが決して使用する必要があります)、ブール値である最後に1つの変数で終わります。

var a = true; 
var b = a && (false || true) && (1 < 2); 

if (b) 
    document.write('yes'); 
else 
    document.write('no'); 

var c = b && false; 
document.write(', '); 

if (c) 
    document.write('yes'); 
else 
    document.write('no'); 

あなたの例

searchMe = var1 && var2; 
if(searchMe){ 
    // this does work 
} 
+0

eval()の危険は何ですか? – alex

+0

http://blogs.msdn.com/b/ericlippert/archive/2003/11/01/53329.aspx - 私はブログや他のGoogleのページでこれを行うことができるように長い説明は掲載しませんが、 「大部分のケースでは、エヴァルはフライを叩くハンマーのように使われています。それは仕事を終わらせますが、あまりにも力があります。遅くて扱いにくく、ダメージを拡大する傾向があります。あなたは間違いを犯します。あなたがevalを使うことを考えているなら、おそらくもっと良い方法でしょう。 – Joe

関連する問題