Javascript 为自动创建的变量创建名称

Javascript 为自动创建的变量创建名称,javascript,Javascript,在JavaScript中,我有一个用于创建新输入元素的代码片段 for(var g = 0; g < psi.length; g++) { var newtextLink+(g+1)= document.createElement('input'); //continue with setting attributes } for(var g=0;g

在JavaScript中,我有一个用于创建新输入元素的
代码片段

for(var g = 0; g < psi.length; g++) {
var newtextLink+(g+1)= document.createElement('input');
//continue with setting attributes
}
for(var g=0;g

我想把单词
newtextLink
和var
g
放在一起,这样每次执行
newtextLink2
for
时都会有类似的内容……我怎么才能做到呢?

如果坚持使用变量,可以使用
窗口
对象:

window['newtextLink' + (g+1)] = document.createElement('input');
否则,请使用数组:

var newTextLinks = [];

...

newTextLinks[g] = document.createElement('input');

如果坚持使用变量,可以使用
窗口
对象:

window['newtextLink' + (g+1)] = document.createElement('input');
否则,请使用数组:

var newTextLinks = [];

...

newTextLinks[g] = document.createElement('input');

这是您通常需要阵列的地方:

var newtextLinks = [];
for(var g = 0; g < psi.length; g++)
{
    newtextLinks[g] = document.createElement('input');
}
现在您有了
newtextLinks.name1
newtextLinks.name2
,等等


但出于此目的,阵列似乎是最好的。

这是您通常需要阵列的地方:

var newtextLinks = [];
for(var g = 0; g < psi.length; g++)
{
    newtextLinks[g] = document.createElement('input');
}
现在您有了
newtextLinks.name1
newtextLinks.name2
,等等

但是为了达到这个目的,数组似乎是最好的。

试试看

this['newtextLink' + (g + 1)] = ...;
试一试

函数createVariables(){
var newtextLink=[];
对于(var i=0;i
函数createVariables(){
var newtextLink=[];

对于(var i=0;i)您不能将其用于局部变量,而创建更多全局变量通常不是一个好主意。(哦,我看到您现在添加了数组选项…)@T.J.Crowder我现在意识到,刚接触数组的人通常都会寻找这样的解决方案,我想我对这个问题的理解有点过于字面化了。你不能将其用于局部变量,而创建更多全局变量通常不是一个好主意。(哦,我看到你现在添加了数组选项…)@T.J.Crowder我现在意识到,刚接触阵列的人通常都会寻找这样的解决方案,我想我对这个问题的理解有点过于字面。这要么会污染全局命名空间,要么会污染其他对象。这都不是一个好主意。这要么会污染全局命名空间,要么会污染其他对象。这都不是一个好主意。