9

文字列を式に変換する方法はありますか?

私の文字列:var1 == null && var2 != 5

if()この文字列を, Likeの条件として使いたいif(var1 == null && var2 != 5)

4

5 に答える 5

17

を使用しevalます。これで十分です

if (eval(" var1 == null && var2 != 5"))
{
}
于 2013-02-06T09:28:43.560 に答える
7

1 つのオプションは、次を作成して呼び出すことnew Functionです。

var strExpr = "var1 == null && var2 != 5";
if (new Function("return " + strExpr)()) {
    // ...
}
于 2013-02-06T09:26:58.250 に答える
2

eval がどのように機能するかを確認するには、コンソールに次のように記述します。

console.log(eval("1==1"));
console.log(eval("1==2"));

これは true と false を出力します

于 2013-02-06T09:27:44.227 に答える
0

String()関数は、オブジェクトの値を文字列に変換します。eval(String)を実行できます。

<html>
<head>
<script>
function myFunction(){
    var var1 = new String("999 888");
    var var2 = "5";
    var var3;
    var var4 = 8;
    document.write(String(var2)+ "<br>");
    document.write(String(var4)+ "<br>");

    //5
    //8

    if(var3 === undefined && var2 != 6){
            alert('var1='+var1+' var2='+var2);
    }
    var ev=eval(String(var3 === undefined && var2 != 6));
    alert(ev);

    var ev1=eval("var3 === undefined && var2 != 6");
    alert(ev1);

}
</script>
</head>
<body>
<button onclick="myFunction()">Try it</button>
</body>
</html>

それを試して頑張ってください!

于 2013-02-06T09:57:26.200 に答える
0

1.) Java と Javascript にはあまり共通点はありませんが、名前と一部の構文は C から継承されています。

2.) いずれにせよ、一般的には、しようとしていることを避けるべきです。ほとんどの言語とケースでは、セキュリティ上の問題があるため、この方法は使用しないでください。

于 2013-02-06T09:28:15.493 に答える