title: javascript in operator and events
body: <p>update:<pre>
  for( i in window)if(i=='onhashchange')console.log(i, window[i]); //prints onchangechange undefined
  </pre></p>
  
  <p>on browser where onhashchange event is supported I have</p>
  
  <pre><code>'onhashchange' in window;  //returns true
  window['onhashchange']; //returns false
  window.onhashchange;  //returns false;
  </code></pre>
  
  <p>why does the former returns true and the rest returns false?</p>