console.log несовместим с JSON.stringify

У меня есть основания полагать, что console.log и JSON.stringify могут создавать противоречивые представления одного и того же объекта, даже если он был создан простым манера (см. примечания).

Ситуация

И в инструментах разработчика Google Chrome, и в Firebug у меня был объект obj , который console.log распечатал как {игроки: {0:. ..}, ...} , а JSON.stringify сообщил о {player: {}, ...} . obj.players был {} под обеими функциями, поэтому кажется, что виноват console.log . Может ли он быть каким-то образом асинхронным / недетерминированным?

Дополнительные примечания

Боюсь, я не смогу предоставить намного больше контекста, так как код длинный и для клиента, но я могу попробовать если есть что-то, что может помочь разобраться в этом. На данный момент я вынужден держаться подальше от console.log для проверки.

Было бы полезно знать, что объект формируется просто из литерала объекта, задав свойства вручную, например, obj.players = {}; obj.players [0] = ... .

Код

Пример того, что я имею в виду, можно увидеть на http://jsfiddle.net/9dcJP/ .

9
задан Peteris 4 January 2012 в 20:58
поделиться