-2

是否可以将字符串传递给 if 语句作为创建动态 if 语句的一种方式?一个简化的例子是:

var condition = "bool == true";
if(condition) console.log('It is true!);

当然上面的例子是行不通的,因为它总是返回true,因为字符串有内容。有没有办法将条件内容作为实际参数注入到 if 语句中?条件需要采用字符串格式,因为在实际应用程序中,条件将使用正则表达式从现有 HTML 块中提取出来,因此以字符串格式返回。

请只使用香草 javascript。

4

2 回答 2

1
if(eval(condition)){

    //do something

}

丹尼尔是对的,这是不好的做法。但是通过字符串命名变量也是不好的做法 - 所以一个跟随另一个......

于 2012-11-16T14:20:10.170 回答
0

eval会工作,但它很狡猾。

您对这些字符串始终是有效的 javascript 有多大信心?

如果有人欺骗你的应用程序会发生什么

location.replace('http://stackoverflow.com');

(或更糟)进入那个 HTML 块?

如果您发现自己需要使用eval它通常意味着您应该重新考虑您的方法。

于 2012-11-16T14:28:54.493 回答