可评估字符串作为 if 语句的一部分
Evaluable string as part of if statement?
我想要这样:
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
}
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 自动修复”;语句前缺少分号“;
- 如何检查字符串的一部分与数组匹配
- 为什么可以't我使用了AJAX响应的一部分
- 如何在 API 调用后和 if 语句中启用提交按钮
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 带有多个elseif的Javascript if语句
- 这个条件语句的逻辑有问题
- Sharepoint JScript if语句未执行
- 为什么继续;语句冻结浏览器
- Javascript:If-then语句在函数中不起作用
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- 仅重新加载网页的一部分
- JS定义的方法仅在语句的一部分中等于NaN
- Javascript语句的哪一部分是字面意思
- if 语句中的一部分 JavaScript 代码运行,而同一块中的其余代码不执行.我在这里错过了什么
- 我可以选择只在if语句的一部分中解决承诺吗
- 可评估字符串作为 if 语句的一部分