title: What is "var _gaq = _gaq || []; " for?
body: <p>The Async Tracking code in Google Analytics looks like this: </p>
  
  <pre><code>var _gaq = _gaq || []; 
  _gaq.push(['_setAccount', 'UA-XXXXX-X']); 
  _gaq.push(['_trackPageview']); 
  
  (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
  })(); 
  </code></pre>
  
  <p>About The first line:</p>
  
  <pre><code>var _gaq = _gaq || []; 
  </code></pre>
  
  <p>I think it ensures that if <code>_gaq</code> is already defined we should use it otherwise we should an array. </p>
  
  <p>Can anybody explain what this is for?</p>
  
  <p>Also, does it matter if <code>_gaq</code> gets renamed? In other words, does Google Analytics rely on a global object named <code>_gaq</code>?</p>