Глобальные переменные в Google Script (электронная таблица)

мы пытались получить некоторые функции в скрипте приложений Google (внутри электронной таблицы) для изменения глобальной переменной, но я не могу 'Кажется, это понять.

В основном я хочу объявить переменную (в данном случае "globalTestVar»), и каждый раз, когда одна из двух функций (globalVarTestFunctionOne и two) запускает эту переменную, она должна увеличиваться на единицу.

Проблема в том, что переменная объявляется снова каждый раз при нажатии кнопки, даже если if (typeof (globalTestVar) == 'не определено») - заявление об этом должно позаботиться.

Я привык к 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);
buttonbuttonF2ClickHandler.addCallbackElement(formPanel);


app.add(formPanel);

formPanel.add(buttonF1);
formPanel.add(buttonF2);


doc.show(app);

return app;
}



function globalVarTestFunctionOne() {
logstuff('globalVarTestFunctionOne');
globalTestVar++;
logstuff('Value of globalTestVar: ' + globalTestVar);
}

function globalVarTestFunctionTwo() {
logstuff('globalVarTestFunctionTwo');
globalTestVar++;
logstuff('Value of globalTestVar: ' + globalTestVar);
}

Выход:

outside3объявление глобальной переменнойoutside3объявление глобальной переменнойglobalVarTestFunctionOneЗначение globalTestVar: 1outside3объявление глобальной переменнойglobalVarTestFunctionTwoЗначение globalTestVar: 1I '

я написал свою собственную функциюlogstuff» распечатывать сообщения, потому что я неМне нравится встроенная функция Logger.log.

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос