从JavaScript中的变量计算布尔表达式

时间:2016-08-29 23:28:41

标签: javascript jquery

我有一些变量,它们有一个关键词,然后是一个标识符,我试图评估这个表达式。

示例:

$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"的字符串。它并没有真正评估我需要的方式。

希望我明确表示,如果没有,请发表评论,我会尝试更好地解释它。提前谢谢。

1 个答案:

答案 0 :(得分:1)

要按名称访问属性,请使用括号表示法。

因此,对于您的示例,您可以通过

获取布尔值
var hasDay = "hasMonday";
var b = value[hasDay]; // equivalent to 'var b = value.hasMonday;'
if (b) {
    // code here
}