I don't remember where, but I once saw it put that for..in
loops can go through the elements in any order the implementors like, including forward, backward, randomly, or alternating between forward and back for each execution of a for..in
loop. In practice, though, somehow I don't think that the latter is really the case with any implementation in existence. (Although, there is a certain browser we know who likes to mess things up, so you can never be too sure, but I digress.)
My point is that while there probably isn't such bad deviation in for..in
sequencing in practice, I'd like to know what deviation, if any, there is between ECMAScript implementations. I suppose the main ones now would be JScript, Chakra, Futhark, Carakan, JavascriptCore, SquirrelFish, V8, SpiderMonkey, and TraceMonkey, just for reference.