我找到了很多关于在循环中调用函数的信息,但我没有发现任何处理 Google Apps 脚本的东西。我已经阅读了几个教程,并以此为基础编写了代码: http: //tobyho.com/2011/11/02/callbacks-in-loops/。
我的真实脚本从 Fusion Table 中提取数据并将其放入 Google Doc 中。我正在尝试用实际名称替换一些 Fusion Table 数值数据,但我需要一个在循环内运行的函数才能使其工作。这是一个简化的场景,它给了我同样的问题。
var big = [];
var data = [["fname1", "lname1", 2, 1980],["fname2", "lname2", 3, 1989]];
function loop() {
for(i in data) {
Logger.log(big[i] = changeData(data[i][2]));
}
}
function changeData(n) {
return function() {
Logger.log(n + "this worked");
};
}
当我检查日志时,我得到了两次: function () { Logger.log(n + "this working");}
而不是执行该函数,它只是返回文本。我对 javascript 和 Google Apps 脚本真的很陌生。这是 GAS 问题还是我的代码有问题?任何帮助表示赞赏。
谢谢。