I would expect global variable iii to increment but iii remains = 1 throughout until max stack size reached.
var iii = 1; //this is supposed to be global variable declaration in google apps script
function tryglobal() {
for (iii = 1; iii < 100; iii++) {
console.log(iii);
iii = iii*2;
tryglobal();
}
}
but iii always remain 1 till stack overflow in google apps script.
Why so? Is it due to processing of each iteration seperately?
The for-loop initialization expression resets iii
to 1 on each recursion
/*<ignore>*/console.config({maximize:false,timeStamps:false,autoScroll:false});/*</ignore>*/
var iii=1; //this is supposed to be global variable declaration in google apps script
function tryglobal()
{
for (iii=1;iii<100;iii++)
{console.log(iii);
iii=iii*2;
tryglobal();
}
}
tryglobal()
<!-- https://meta.stackoverflow.com/a/375985/ --> <script src="https://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
Avoid resetting iii
to 1 in for()
loop initializer
/*<ignore>*/console.config({maximize:false,timeStamps:false,autoScroll:false});/*</ignore>*/
var iii=1; //this is supposed to be global variable declaration in google apps script
function tryglobal()
{
for (;iii<100;iii++)
{console.log(iii);
iii=iii*2;
tryglobal();
}
}
tryglobal()
<!-- https://meta.stackoverflow.com/a/375985/ --> <script src="https://gh-canon.github.io/stack-snippet-console/console.min.js"></script>