在 JavaScript 中,我们可以使用条件运算符(ternary operator)来模拟动态 if 语句,而不使用 eval。条件运算符具有以下语法:
condition ? expression1 : expression2
其中,condition 是一个可以返回布尔值的表达式,如果 condition 为真,则返回 expression1,否则返回 expression2。
以下是一个示例,展示了如何使用条件运算符来模拟动态 if 语句:
function dynamicIf(condition, trueStatement, falseStatement) {
return condition ? trueStatement : falseStatement;
}
// 示例用法
const x = 5;
const result = dynamicIf(x > 10, "x 大于 10", "x 不大于 10");
console.log(result); // 输出 "x 不大于 10"
在上面的示例中,我们定义了一个 dynamicIf 函数,它接受三个参数:condition、trueStatement 和 falseStatement。根据 condition 的值,该函数会返回 trueStatement 或 falseStatement。通过这个函数,我们可以实现动态 if 语句的效果。