我有一些变量,它们有一个关键词,然后是一个标识符,我试图评估这个表达式。
示例:
$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"的字符串。它并没有真正评估我需要的方式。
希望我明确表示,如果没有,请发表评论,我会尝试更好地解释它。提前谢谢。
答案 0 :(得分:1)
要按名称访问属性,请使用括号表示法。
因此,对于您的示例,您可以通过
获取布尔值var hasDay = "hasMonday";
var b = value[hasDay]; // equivalent to 'var b = value.hasMonday;'
if (b) {
// code here
}