I’m not entirely sure when Mozilla started to support for each loops but I guess it was part of the E4X code checkins. Anyway, I was totally shocked when I saw it and I fired up a quick test. var o = {a: "A", b: "B", c: "C"}; for each (var v in o) { ...