-2

動的な if ステートメントを作成する手段として、文字列を if ステートメントに渡すことは可能ですか? 簡単な例は次のとおりです。

var condition = "bool == true";
if(condition) console.log('It is true!);

もちろん、上記の例は機能しません。文字列にコンテンツがあるため、常に true を返すからです。ただし、条件の内容を if ステートメントに実際のパラメーターとして挿入する方法はありますか? 実際のアプリケーションでは、条件は正規表現を使用して既存の HTML ブロックから抽出され、文字列形式で返されるため、条件は文字列形式である必要があります。

バニラ JavaScript のみでお願いします。

4

2 に答える 2

1
if(eval(condition)){

    //do something

}

ダニエルは正しいです、これは悪い習慣です。しかし、文字列を介して変数に名前を付けるのも悪い習慣です - そのため、一方が他方に従います...

于 2012-11-16T14:20:10.170 に答える
0

eval動作しますが、危険です。

これらの文字列が常に有効な JavaScript であるという自信はありますか?

誰かがあなたのアプリをだまして入れたらどうなりますか

location.replace('http://stackoverflow.com');

(またはさらに悪いことに)その HTML ブロックに?

eval通常、これを使用する必要がある場合は、アプローチを再考する必要があります。

于 2012-11-16T14:28:54.493 に答える