title: Strange behavior in Javascript enhanced for...in loop
body: <p>I am making a Javascript game with the canvas tag, and I am using an enhanced for loop to update the player positions.</p>
  
  <p>In brief:</p>
  
  <pre><code>var actors = new Array();
  
  var player = new Actor(0, 0, img);
  
  actors[0] = player;
  
  function update_positions() {
      //position 1
      for(var a in actors) {
          //position2
          a.xpos += a.xvel;
          a.ypos += a.yvel;
      }
  }
  </code></pre>
  
  <p>Just outside of the for loop at position 1, I can access the correct value of actors[0].xvel. Inside the for loop at position 2, a.xvel is undefined. Can someone explain to me what is happening?</p>