Мне не удалось воспроизвести эту проблему с помощью другого сценария, поэтому, пожалуйста, запустите этот сценарий: http://jsfiddle.net/kz4k7/
Как видно из строки 154-157:
for (myKey in v){
console.log("v["+myKey +"] = "+v[myKey]);
}
console.log(v);
вы ожидаете, что первые три строки будут выводиться так же, как и последняя строка.Тем не менее, я получаю этот результат в chrome:
Если я уберу solveTriangle (v) в строке 158, console.log(v);
работает отлично.Это также работает, если я печатаю клонированную версию объекта v на консоль.
Примечание: Это еще не все, я просто хочу знать, почему Chrome делает это.Я также не хочу объяснять "почему ты так поступил?"и другие вопросы, не связанные с этой ошибкой.
Редактировать:
Это также поведение в Safari.
Firefox + скриншот firebug: