我一直试图在谷歌应用程序脚本(电子表格内)中获取一些函数来修改全局变量,但我似乎无法弄明白.
基本上我想声明一个变量(在本例中为"globalTestVar"),并且每当两个函数中的一个(globalVarTestFunctionOne和2)启动时,该变量应该递增1.
问题是每次按下按钮时都会再次声明变量,即使if(typeof(globalTestVar)=='undefined') - 语句应该处理它.
我习惯于Objective C和Java,我可以在开头声明我的变量,并在代码中的任何地方修改这些变量.
我很抱歉,如果这是一个基本问题,但我一直在谷歌搜索几个小时,我只是无法让它工作.
这是代码:
logstuff("outside");
function logstuff(logInput){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var lastRow = sheet.getLastRow() + 1;
sheet.getRange("A"+lastRow).setValue(logInput);
return;
}
if (typeof(globalTestVar) == 'undefined') {
logstuff('declaring global variable');
globalTestVar = 0;
} else {
logstuff('global variable has been declared');
}
function globalVarTestUIFunction() {
var app = UiApp.createApplication().setTitle('Test UI');
var doc = SpreadsheetApp.getActive();
var formPanel = app.createVerticalPanel();
var buttonF1 = app.createButton('F1');
var buttonbuttonF1ClickHandler = app.createServerClickHandler("globalVarTestFunctionOne");
buttonF1.addClickHandler(buttonbuttonF1ClickHandler);
buttonbuttonF1ClickHandler.addCallbackElement(formPanel);
var buttonF2 = app.createButton('F2');
var buttonbuttonF2ClickHandler = app.createServerClickHandler("globalVarTestFunctionTwo");
buttonF2.addClickHandler(buttonbuttonF2ClickHandler); …Run Code Online (Sandbox Code Playgroud)