title: Javascript function properties
body: <p>Why is it that I can do the following in javascript:</p>
  
  <pre><code>function a() {};
  a.foo = 30;
  </code></pre>
  
  <p>Specifically, why can I set a property on the function a? After all, I cannot do this:</p>
  
  <pre><code>var a = 20;
  a.foo = 30;
  </code></pre>