sticky variables


    Aug 24 2006 | 11:17 pm
    consider the following code:
    autowatch = 1;
    var test = 10;
    function printtest()
    {
    post(test);
    }
    if you delete the variable test at one point and resave the textfile, you
    can still reference "test" and it will still return 10. Is it intended like
    this? I find it really confusing sometimes, because if you make a mistake
    like this, you won't notice until you restart max.
    -thijs

    • Aug 25 2006 | 6:24 am
      On Aug 24, 2006, at 4:17 PM, Thijs Koerselman wrote:
      > consider the following code:
      >
      > autowatch = 1;
      > var test = 10;
      >
      > function printtest()
      > {
      > post(test);
      > }
      >
      > if you delete the variable test at one point and resave the
      > textfile, you can still reference "test" and it will still return
      > 10. Is it intended like this? I find it really confusing sometimes,
      > because if you make a mistake like this, you won't notice until you
      > restart max.
      Only function properties are explicitly deleted on re-compile of a
      javascript file. If you close your patch and re-open all properties
      are created in a fresh script. This is intended behavior.
      -Joshua
    • Aug 25 2006 | 8:56 am
      On 8/25/06, Joshua Kit Clayton wrote:
      >
      >
      >
      > Only function properties are explicitly deleted on re-compile of a
      > javascript file. If you close your patch and re-open all properties
      > are created in a fresh script. This is intended behavior.
      ok thanks. I think I'll just make it a habit to declare variables as
      function properties then.
      best, -thijs