javascript - javascript中的动态变量名称

标签 javascript variables dynamic

我有变量:

var variableDynamic = 1;
// or    
var variableDynamic = 1 + i++;

有什么方法可以用它来创建动态变量名,例如这样的东西:

var variableName + variableDynamic = {};
// or
var (variableName + variableDynamic) = {};

我知道我上面写的很荒谬,但这是为了说明这个想法。可能吗?


好的,每次用户点击添加新文件组时,我想要创建元素(上传表单),一切正常,除了我使用的插件需要每个上传表单的特殊变量来触发上传按钮(.uploadStoredFiles();).

这是我做的粗略代码:

    $('#addOneMoreFileOrGroup').on('click', function(){

    var latestFileUploaderId = parseInt($('.well-large .file-uploader').last().attr('id').split('-')[2]) + 1;

    $('.well-large .control-group:last').after('<div class="control-group deal-type-online">  \
        <label class="control-label">File / File Group Title:</label> \
        <div class="controls"> \
            <input class="span4 file-title" type="text"> \
            <span class="question label label-warning" data-title="File / Group Name:" data-content="Name for your file or group of related files (for example your brand logotype in different file formats)." data-original-title="">?</span> \
            <div id="file-uploader-' + latestFileUploaderId + '" class="file-uploader"></div> \
        </div> \
    </div>');

    var HERE_I_NEED_DYNAMIC_VAR = new qq.FileUploader({
        element: document.getElementById('file-uploader-' + latestFileUploaderId + ''),
        action: 'do-nothing.htm',
        autoUpload: false,
        debug: true,
        uploadButtonText: '<i class="icon icon-plus"></i> Select Files...',
        onSubmit: function() {

            $('#file-uploader-' + latestFileUploaderId + ' .qq-uploader').after('<button id="file-uploader-trigger-' + latestFileUploaderId + '" class="btn btn-primary"><i class="icon-upload icon-white"></i> Upload now</button>');

            $('#file-uploader-trigger-' + latestFileUploaderId + '').on('click', function() {

                if($(this).parent().parent().parent().parent().find('.file-title').val() !== '') {
                    HERE_I_NEED_DYNAMIC_VAR.uploadStoredFiles();
                } else {

                    $(this).parent().parent().parent().addClass('error');

                }

            });

        }
    });

});

}

最佳答案

在 JavaScript 中,可以通过 obj.propobj['prop'] 访问对象的属性。

在全局范围内,所有变量都是 window 属性的子项。所以你将能够做到:

var variableDynamic = 'Test';
window['variableName' + variableDynamic] = 'your value';

查看 this fiddle .

但是,如果您想将此变量的范围限制为一个函数,则必须定义一个父对象并使用它来代替 window

关于javascript - javascript中的动态变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13291554/

相关文章:

javascript - 使用正则表达式将 wiki txt 转换为 Markdown

javascript - 以编程方式访问函数位置

javascript - Meteor - 我如何使用 Deps 制作这个 "reactive"?

c++ - 变量分配和文字常量之间的区别?

java - 如何在 JFreeChart 可见后更新它的外观?

c - 调用进程的符号查找?

PHP:根据上一页点击的链接动态加载内容?

javascript - $.mobile.changePage() 更改页面没有数据(白屏)?

javascript - 将两位数变量相加

php - 附加变量到php数组输出中?