javascript - 如何保存字符串然后使用 is 作为变量名?

标签 javascript jquery modularity modular-design

我正在尝试保存一个字符串变量,然后将该变量用作其他变量。

我在“name”变量中保存一个字符串,可以是“每周”、“每月”或“每季度”。

然后使用 is 作为“this.weekly”,但使用“name”引用。只是因为没有对每种情况进行“切换”。

这是我的代码:

    // Update "report" variable onclick checkbox
    checkboxSaveOnChange: function(newCheckbox){

        var name = newCheckbox.checked;


        if (newCheckbox.checked) {
            this.name.push(newCheckbox.value);  
        } else {
            var index = this.name.indexOf('newCheckbox.value'); 
            this.name.splice(index, 1); 
        }

        /*switch (name) {

            case 'weekly': 


            break;

            case 'monthly': 

            break; 

            case 'quarterly': 

            break;

        }*/


        console.log(this.weekly);
        console.log(this.monthly);
        console.log(this.quarterly);
    },

尝试使用var name = 'this.+'newCheckbox.checked; - 不起作用...

编辑:

这仍然会导致错误:

    // (newCheckbox.checked) ? this.name.push(newCheckbox.value) : this.name.indexOf('newCheckbox.value');
    if (newCheckbox.checked) {
        this[name].push(newCheckbox.value);     
    } else {
        var index = this[name].indexOf('newCheckbox.value'); 
        this[name].splice(index, 1);    
    }

最佳答案

尝试使用这个[名称]。在 JavaScript 中,属性访问器可以使用点表示法和方括号表示法。您可以查看来自 Mozilla 开发者网络 MDN 的文档了解详情。

关于javascript - 如何保存字符串然后使用 is 作为变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48324047/

相关文章:

javascript - 从顶部显示 div 元素以显示其内容

javascript - 在 Safari 的事件窗口的新选项卡中打开 URL

jquery - $(document).ready() 内的范围?

jquery - 上传和 HTTP 401 挑战。为什么它不能始终如一地工作?

javascript - $(this).next ('div' ) 没有抓取 jQuery 中的内容

python - iGraph 中的模块化和集群问题 [Python]

java - 设计可插拔积分和徽章系统

lua - Lua中的模块化代码结构

javascript - 是否需要将 Promise 参数传递给 Knex 迁移?

javascript - 过滤功能不适用于日期(javascript)