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

Evaluate boolean expression from a variable in JavaScript

本文关键字:计算 布尔表达式 变量 JavaScript      更新时间:2023-09-26

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

的例子:

$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
}