大家好,
我可以在处理函数中使用全局变量,但是我不能在函数中“全局”修改它们。
在下面的代码中,第一次单击后它将显示数字 1001(处理程序读取、递增并显示正确的结果)。但是,任何进一步的点击将始终显示 1001,因此处理程序会继续读取原始 globalVar 值:它没有像我预期的那样被修改。
我能做些什么来解决这个问题?
var globalVar = 1000;
function testingGlobals() {
var app = UiApp.createApplication();
var doc = SpreadsheetApp.getActiveSpreadsheet();
var panel = app.createVerticalPanel().setId('panel');
app.add(panel);
panel.add(app.createButton(globalVar).setId("globalVar").addClickHandler(app.createServerHandler("chgGlobal").addCallbackElement(panel)));
doc.show(app)
}
function chgGlobal(e) {
var app = UiApp.createApplication();
globalVar++;
app.getElementById("globalVar").setText(globalVar);
return app;
}