从JavaScript变量中计算布尔表达式
Evaluate boolean expression from a variable in JavaScript
我有一些变量,像一个关键字,然后一个标识符,我试图评估这个表达式。
的例子:
$day = today; //Assume it is Monday
$.each(responseAdvertiser, function(index, value) {
var hasMonday = value.hasMonday; //TRUE OR FALSE
var hasTuesday = value.hasTuesday; //TRUE OR FALSE
//Whar I'm trying to do:
var has="has";
var img="img";
var txt="txt";
var day = $day.toLowerCase(); //monday
var hasDay = has+day; //hasmonday
if (hasDay == true){ // TRYING TO EVALUATE THIS
var dayImg= day+img; //mondayimg
var dayTxt = day+txt; //mondaytxt
var todayImg = value.dayImg;
var todayTxt = value.dayTxt;
// I know how to make this work in PHP using variable variables, like
// $x = hello
// $hello = buddy
// echo $$x #PRINTS buddy
}
}
我试图评估hasmonday,但由于我使用变量"hasDay",这只是一个名为"hasmonday"的字符串,它并没有真正评估我需要的方式。
希望我说得很清楚,如果没有,请评论,我会尽量更好地解释。
要按名称访问属性,请使用括号表示法。
在你的例子中,你可以通过 获取布尔值var hasDay = "hasMonday";
var b = value[hasDay]; // equivalent to 'var b = value.hasMonday;'
if (b) {
// code here
}
相关文章:
- 布尔表达式-与AND、OR逻辑运算符混淆以及它们的工作方式
- 未为text/ng模板计算角度表达式
- 什么's VBA和Javascript布尔表达式之间的区别
- 评估JavaScript中给出布尔表达式的字符串
- 从树遍历中构建布尔表达式的算法
- = vs === 布尔表达式的运算符
- ngAnimateSwap-使用布尔表达式不会按预期设置动画
- 为什么这个布尔表达式不返回 true
- 如何在复杂的布尔表达式上避免三元
- 在运行时未计算角度表达式.为什么
- 如何在子指令中计算 Angular 表达式并将其公开在父指令上
- Javascript eval 在计算数学表达式时,如果使用的数字以 0 开头,则给出错误的输出
- 无法使用Mathos math Prser计算数学表达式
- 用pegjs解析布尔表达式链
- 反转布尔表达式
- 在不带eval的Javascript中计算字符串中的布尔表达式
- 为什么这个JavaScript代码在布尔表达式不再为true之后进入for循环
- 理解eval()计算布尔值的用法
- 用于布尔表达式计算的Javascript eval
- 从JavaScript变量中计算布尔表达式