我想要这样:
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
}