我發現了很多關於循環內調用函數的信息,但我還沒有發現任何涉及Google Apps腳本的信息。我已經通過了幾個教程,並基於此代碼:http://tobyho.com/2011/11/02/callbacks-in-loops/。在Google Apps腳本中調用for循環中的函數
我的真實腳本從Fusion Table中提取數據並將其放入Google文檔中。我試圖用實際名稱替換一些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");
};
}
當我檢查日誌我得到這個兩次:函數(){Logger.log(N + 「這個工作」);}
而不是執行功能,它只是返回的文本。我對JavaScript和Google Apps腳本非常陌生。這是一個GAS問題還是我的代碼路?任何幫助表示讚賞。
謝謝。
這是預期的行爲的結果。刪除'返回功能(){...' – Jonathon 2013-03-11 03:37:39