title: Global variable inside anonymous self-executing js function still available outside?
body: <p>I have these two javascript files:</p>
  
  <pre><code>test1.js:
  (function() {
    console.log(global_var_test2);
  })();
  
  test2.js:
  (function() {
    global_var_test2 = "test";
  })();
  </code></pre>
  
  <p>Obviously if i use the var keyword in test2.js the global_var_test2 variable will not be available in test1.js..but i thought that when you were wrapping all your code in a file inside a self-executing anonymous functions that you created a separate scope so that variables that were created without the var keyword would still not be visible outside ? When running the code above im able to access global_var_test2 inside of test1.js.</p>
  
  <p>If im remembering correct the use of a self-executing anonymous function is almost always used when writing javascript modules to isolate it from the other possibly installed modules you have..but that doesnt seem to work with the code above.. could someone explain why not ?</p>