javascript - 在 JavaScript 中计算变量的 bool 表达式

标签 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”的字符串,因此它并没有真正按照我需要的方式进行评估。

希望我说得清楚,如果没有,请发表评论,我会尽力解释得更好。提前致谢。

最佳答案

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

因此,对于您的示例,您可以通过以下方式获取 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/

相关文章:

javascript - 如何在停止后继续播放音频并显示按钮

javascript - 在模块之间注入(inject)路由配置

javascript - 使用 JavaScript 更改 HTML 表单输入

javascript - jQuery - 检测点击某个像素区域,然后执行函数

javascript - 使用 Jquery 更改单击时的图像/类?

javascript - 正则表达式不适用于波斯字符

javascript - Polymer HTML 导入自定义元素

javascript - Web worker 在传递具有数组缓冲区的大量对象时使 Chrome 选项卡崩溃

c# - 如果验证错误则停止回发

javascript - ID相同时如何获取data-*内容?