有什么方法可以从函数外部访问变量名作为函数的参数?

时间:2012-09-19 22:10:01

标签: javascript variables

我有一个简单的JavaScript函数,允许访问者动态地将输入字段添加到表单中。在某些情况下,我需要在页面上多次调用此函数,并且我试图通过仅创建一个函数并将必要的参数传递给它来简化操作。

我的关键点是我需要为我正在创建的每个输入类别设置一个计数器,以便我可以根据需要添加/删除输入。这是我到目前为止所得到的:

var assigneeCounter = 1;
var uploadCounter = 1;


function addInput(fieldlabel, inputclasses, inputCounterID, inputCounter){
  alert(inputCounter);
}

调用此函数的HTML如下:

<a href="javascript:addInput('Assignee','required-text', 'assignees', 'assigneeCounter');">Add Another Assignee</a>
<a href="javascript:addInput('File Uploads','', 'uploads', 'uploadCounter');">Add Another File Upload</a>

我的目标是让函数调用查找与其相关的特定变量(例如assigneeCounter用于Assignees输入,uploadCounter用于上传等)。但是,当我提醒该变量时,它只是写“assigneeCounter”而不是“1”。

我确信我只是遗漏了一些关于变量范围的基本知识而且我不是JavaScript专家所以我想我会问那些人。

提前致谢!

2 个答案:

答案 0 :(得分:1)

你可以像这样访问它:

alert(window[inputCounter]);

答案 1 :(得分:1)

是。如果这些变量属于全局范围,则可以通过window对象访问它们:

window[inputCounter];

有关其工作原理的详细信息,请参阅Use dynamic variable names in JavaScript