我有一些变量,其中有一个关键字,然后是一个标识符,我正在尝试评估这个表达式。
示例:
$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”的字符串,因此它并没有真正按照我需要的方式进行评估。
希望我说得清楚,如果没有,请发表评论,我会尽力解释得更好。提前致谢。
最佳答案
要按名称访问属性,请使用方括号表示法。
因此,对于您的示例,您可以通过以下方式获取 bool 值
var hasDay = "hasMonday";
var b = value[hasDay]; // equivalent to 'var b = value.hasMonday;'
if (b) {
// code here
}
关于javascript - 在 JavaScript 中计算变量的 bool 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39216666/