我想这样:
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>")
但它不起作用。
答案 0 :(得分:2)
您想要做的事情可以使用 - 如评论中所述 - 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}
我希望这可以帮助您创建一个好的解决方案。祝你好运!
答案 1 :(得分:0)
你应该可以使用:
if (eval("a == 1" + str))
但你可能想出一个更好的方法来做到这一点。也许你应该使用一个取值a
?
答案 2 :(得分:-1)
您可以使用以下代码。我认为这对你的问题有用。
<script lang='javascript'>
var b = 2;
var a = 1;
var str = " && b == 2"
if ("a == 1" + str ) {
alert("ok"); //do something
}