Как перебрать свойства объекта javascript в порядке их написания

Я обнаружил ошибку в своем коде, которую я надеюсь устранить с минимальными усилиями по рефакторингу. Эта ошибка возникает в браузерах Chrome и Opera. Проблема:

var obj = {23:"AA",12:"BB"};
//iterating through obj's properties
for(i in obj)
  document.write("Key: "+i +" "+"Value: "+obj[i]);

Вывод в FF, IE ключ: 23 Значение: AA ключ: 12 Значение: BB

Выход в Опере и Хроме(Неправильно)
Ключ: 12 Значение BB
Ключ: 23 значение АА

Я попытался сделать объект в обратном порядке, как это

var obj1={"AA":23,"BB":12};
for(i in obj1)
  document.write("Key: "+obj[i] +" "+"Value: "+i);

Однако вывод такой же. Есть ли способ получить для всех браузеров одинаковое поведение с небольшими изменениями?

Ответы на вопрос(4)

Ваш ответ на вопрос