Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Google Apps脚本中动态定义变量名和赋值_Javascript_Google Apps Script - Fatal编程技术网

Javascript 在Google Apps脚本中动态定义变量名和赋值

Javascript 在Google Apps脚本中动态定义变量名和赋值,javascript,google-apps-script,Javascript,Google Apps Script,我正在写一个脚本,在谷歌应用程序脚本中生成一个表单 这个想法是,用户应该从下拉列表中选择他/她的名字,然后为他/她转移到问题区 虽然问题是相同的,但如果某些问题的下拉列表出现变化,则选项会略有变化 我有一个包含用户姓名的数组,我为每个用户定义了问题。 这并不理想,好像问题有任何变化,我必须一个一个地重写每一块 我想使用一个循环,通过使用用户名数组创建变量名来生成问题块 我尝试了以下方法(这不是实际的代码,但抛出了相同的错误) 像这样使用eval也很好:choices=eval('lcontrie

我正在写一个脚本,在谷歌应用程序脚本中生成一个表单

这个想法是,用户应该从下拉列表中选择他/她的名字,然后为他/她转移到问题区

虽然问题是相同的,但如果某些问题的下拉列表出现变化,则选项会略有变化

我有一个包含用户姓名的数组,我为每个用户定义了问题。 这并不理想,好像问题有任何变化,我必须一个一个地重写每一块

我想使用一个循环,通过使用用户名数组创建变量名来生成问题块

我尝试了以下方法(这不是实际的代码,但抛出了相同的错误)

像这样使用
eval
也很好:
choices=eval('lcontries'+Names[i]).getChoices()

如何在
for
循环中为这些变量赋值


非常感谢您。

据我所知,eval()几乎总是一个不好的选择,应该小心处理,而且绝大多数情况下从不使用。以这种方式使用动态变量也是一种糟糕的编程逻辑。我从来没有见过必须这样做的案例,而你的案例显然不是。您可以使用对象轻松地绕过它,只需定义一个通用对象
var myVariables={}
,然后开始为变量动态分配其属性

var myVariables = {};
myVariables[ "beginning" ] = 1;

for( i = 0; i < 10; i++){
  myVariables[ ("beginning" + i) ] = i;
}


Logger.log( myVariable[ "beginning5" ] ); //Loggs 5
var myVariables={};
myVariables[“开始”]=1;
对于(i=0;i<10;i++){
myVariables[(“开始”+i)]=i;
}
Logger.log(myVariable[“begining5”])//日志5
 eval('beginning' + b) = 1;  //Throws: We're sorry, a server error occurred. Please wait a bit and try again.
 eval('beginning' + b + '= 1;');  //Throws: We're sorry, a server error occurred. Please wait a bit and try again.
 eval('beginning' + b = 1);  //Throws: Invalid assignment left hand side. (line 1, file "Code")
var myVariables = {};
myVariables[ "beginning" ] = 1;

for( i = 0; i < 10; i++){
  myVariables[ ("beginning" + i) ] = i;
}


Logger.log( myVariable[ "beginning5" ] ); //Loggs 5