私はこのようにしたい:
var b = 2
var a = 1
var str = " && b == 2"
if (a == 1|str|) { some code }
コードに「str」を配置したいので、これを試しました:
document.write("<script lang='javascript'>" + "if (a == 1" + str + ") { some code }" + "</script>")
しかし、うまくいきませんでした。
私はこのようにしたい:
var b = 2
var a = 1
var str = " && b == 2"
if (a == 1|str|) { some code }
コードに「str」を配置したいので、これを試しました:
document.write("<script lang='javascript'>" + "if (a == 1" + str + ") { some code }" + "</script>")
しかし、うまくいきませんでした。
あなたがしたいことは、次のように-コメントで述べられているように-を使用して行うことができますeval()
:
var b = 2
var a = 1
var str = " && b == 2"
if (eval("a == 1" + str) { //some code }
ただし、evalは悪い習慣と見なされます。これは、フィードされる文字列の正確な内容を知ることが非常に困難でeval()
あり、したがってコードが何を実行するかが予測できないためです。
より良い解決策は、ブール変数を使用することです。
var b = 2;
var a = 1;
var bCorrect = (b == 2); // parentheses are not required, but do make it clearer.
if(a ==1 && bCorrect) { // some code}
これが良い解決策の作成に役立つことを願っています。幸運を!
以下を使用できるはずです。
if (eval("a == 1" + str))
しかし、おそらくこれを行うためのより良い方法を思い付くことができます。a
文字列の代わりに、 ?の値を取る関数を使用する必要があるかもしれません。
次のコードを使用できます。私はそれがあなたの問題に役立つと思います。
<script lang='javascript'>
var b = 2;
var a = 1;
var str = " && b == 2"
if ("a == 1" + str ) {
alert("ok"); //do something
}